今天在一台机子(windowxp)上测试配置apache2.2+多tomcat5.5。记录一下配置的步骤,和碰到的问题。
1.下载对应版本的mod_jk.so放入apache_home/modules目录下
2.httpd.conf文件中增加。Include D:/mod_jk.conf 。包含mod_jk的配置
3.在mod_jk.conf中增加。加载mod_jk模块
<IfModule !mod_jk.c>
LoadModule jk_module modules/mod_jk.so
</IfModule>
#配置虚拟主机
<VirtualHost *:80>
ServerName localhost
DocumentRoot "D:\workspace3.2\test"
#将jsp转发到负责负载的controller
JkMount /*.jsp controller
</VirtualHost>
打开apache,tomcat测试是否可以正确转发。
4.配置apache负载
在mod_jd.confi中增加了配置。指定负载配置的文件。
JKWorkersFile conf/workers.properties
5.在apache_home/conf下建立workers.properties文件,增加如下配置
6.配置多tomcat。
手动copy了一个tomcat5.5_b。修改tomcat配置端口(在一台机子,避免冲突)
修改connector端口,一个改为不同的监听端口。这里一个8080,一个8090.
修改ajp监听的端口,对应上面workers.properties中的端口。这里一个默认8009,一个8008.
配置engine,添加jvmRoute对应workers.proerties中的tomcat实例名称。(注:如果不配置这个名称,也可以跑起来,但是好像不能正确负载)
7.分别启动2个tomcat,apache测试,是否正确
1.下载对应版本的mod_jk.so放入apache_home/modules目录下
2.httpd.conf文件中增加。Include D:/mod_jk.conf 。包含mod_jk的配置
3.在mod_jk.conf中增加。加载mod_jk模块
<IfModule !mod_jk.c>
LoadModule jk_module modules/mod_jk.so
</IfModule>
#配置虚拟主机
<VirtualHost *:80>
ServerName localhost
DocumentRoot "D:\workspace3.2\test"
#将jsp转发到负责负载的controller
JkMount /*.jsp controller
</VirtualHost>
打开apache,tomcat测试是否可以正确转发。
4.配置apache负载
在mod_jd.confi中增加了配置。指定负载配置的文件。
JKWorkersFile conf/workers.properties
5.在apache_home/conf下建立workers.properties文件,增加如下配置
#配置了3个节点
worker.list = controller,tomcat1,tomcat2
#配置tomcat1 节点,对应的ajp端口
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
#负载比重
worker.tomcat1.lbfactor=1
worker.tomcat2.port=8008
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#配置负载控制节点
worker.controller.type=lb
#指定要负载的节点
worker.controller.balanced_workers=tomcat1,tomcat2
#是否将同一个用户始终导向同一个tomcat
worker.controller.sticky_session=true
6.配置多tomcat。
手动copy了一个tomcat5.5_b。修改tomcat配置端口(在一台机子,避免冲突)
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />
修改connector端口,一个改为不同的监听端口。这里一个8080,一个8090.
<Connector port="8009" URIEncoding="UTF-8" useBodyEncodingForURI="true"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
修改ajp监听的端口,对应上面workers.properties中的端口。这里一个默认8009,一个8008.
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
配置engine,添加jvmRoute对应workers.proerties中的tomcat实例名称。(注:如果不配置这个名称,也可以跑起来,但是好像不能正确负载)
7.分别启动2个tomcat,apache测试,是否正确