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,如果能正常訪問,則表示成功了。