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,如果能正常访问,则表示成功了。

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