Apache和tomcat做集群配置
做集群配置,首先要下载tomcat-connectors,到官方网站上去下载(http://tomcat.apache.org/download-connectors.cgi),我下载的版本是tomcat-connnectors-1.2.31-src.tar.gz,这里,我将tomcat-connnectors-1.2.31-src.tar.gz放到了/opt/目录下面。
首先进行解压:tar zxvf tomcat-connnectors-1.2.31-src.tar.gz。这时,在/opt/下面会出现tomcat-connectors-1.2.31-src的文件夹。进入native目录:cd tomcat-connectors-1.2.31-src/native/,执行:./buildconf.sh
配置应用的安装目录,将应用安装到apache的apxs文件中,执行如下命令:
./configure --with-apxs=/home/httpd-2.3.8/bin/apxs,
执行编译:make,执行安装:make install
进入native/apache-2.0/目录,将mod_jk.so拷贝到apache的modules目录中,覆盖目录中相同的文件。
安装jk后,就是系统整合配置,我们先进行apache的配置,修改httpd.conf文件,在此文件后面增加如下:
#Load mod_jk
LoadModule jk_module modules/mod_jk.so
#Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /application/* loadbalancer
之后在conf目录下面,建立一个workers.properties的文件。
执行命令创建文件:vi /usr/local/apache/conf/workers.properties(其中/usr/local/apache/为关联到apache安装目录的软联接)。
添加如下内容:
#
#workers.properties
#
#ln Linux,we use forward slashes:
ps=/
#list the workers by name
worker.list=tomcat1,loadbalancer
#----------------------------
#First tomcat server
#---------------------------
worker.tomcat1.port=8009
worker.tomcat1.host=mid_server_1.sndju.com
worker.tomcat1.type=ajp13
#Specify the size of the open connection cache
#worker.tomcat1.cachesize
#
#Specifies the load balance factor when used with
#a load balancing worker
#Note:
#----> lbfactor must be > 0
#----> Low lbfactor means less work done by the worker
worker.tomcat1.lbfactor=100
#----------------------
#Second tomcat server
#---------------------
#--------------------
#Load Balancer worker
#--------------------
#The loadbalancer(type lb) worker performs weighted round-robin
#load balancing with sticky sessions
#Note:
#---> If a worker dies,the load balancer will check its state
#once in a while.Until then all work is redirected to peer
#worker
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1
#
#END workers.properties
#
这里只配置了一个tomcat,如果要配置2个,则再加入#First tomcat server之下配置相同的就行了,把tomcat1改成你要配置的那个tomcat名,如:tomcat2,在worker.list=tomcat1,loadbalancer和worker.loadbalancer.balance_workers=tomcat1加入tomcat2就行了。
之后修改tomcat的server.xml配置文件:
在
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
之后加入
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"></Engine>
就行了
第一台tomcat的jvmRoute为tomcat1,如果有其他的则改你所要配置的名字就行,如:tomcat2为第二台
之后,修改apache配置目录下/extra/httpd-vhosts.conf文件,增加如下虚拟主机配置:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/apache-tomcat-6.0.35/webapps"
ServerName mid_server_1.sndju.com
<Directory "/opt/apache-tomcat-6.0.35/webapps">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
JkMountFile /usr/local/apache/conf/workers.properties
JkLogFile /usr/local/apache/logs/mod_jk.log
JkLogLevel warn
</VirtualHost>
其中DocumentRoot为你tomcat下访问目录。
至此,已经配置好了用apache做web服务器,1个tomcat做应用服务器的集群环境。之后开启tomcat和apache,在浏览器输入测试地址
我在tomcat的webapps目录下的examples下建立了一个index.jsp,之后访问web_server_1.sndju.com/examples/index.jsp,如果能正常访问,则表示成功了。