mod_jk方式apache+tomcat負載均衡

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章