将tomcat与apache集成并配置集群方式

本文档介绍了如何在linux上将tomcat与apache集成,并使用两个tomcat做集群.
1.安装apache
下载apache源码httpd-2.0.47.tar.gz
tar -xvzf httpd-2.0.47.tar.gz
cd httpd-2.0.47
./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-deflate --enable-rewrite --enable-expires --enable-headers --with-mpm=prefork
make
make install

2.安装tomcat
下载jakarta-tomcat-4.1.29.tar.gz
将其解压至/usr/local/tomcat

3.下载jakarta-tomcat-connectors-jk2.0.2-src-current.tar.gz
tar -zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
chmod +x buildconf.sh
./buildconf.sh
./configure --with-apxs2=/usr/local/httpd/bin/apxs --with-apache2-lib=/usr/local/httpd/lib --with-tomcat41=/usr/local/tomcat
make
cp ../build/jk2/apache2/mod_jk2.so /usr/local/httpd/modules/
将mod_jk2.so的权限改为755

4.配置jk2,相应的有两个配置文件,一个是/usr/local/tomcat/conf/jk2.properties,使用默认生成的即可,不需做任何修改,另一个配置文件是/usr/local/httpd/conf/workers2.properties,如果没有该文件则需要手工创建一个其内容为

  1. Configuration file of JK2
    shm
    file=$
    Unknown macro: {serverRoot}
    /logs/shm.file
    size=1048576
  1. Define the communication channel
    [channel.socket:tomcat1]
    #info=Ajp13 forwarding over socket
    #tomcatId=localhost:8009
    port=8009
    host=127.0.0.1

[ajp13:tomcat1]
channel=channel.socket:tomcat1

[channel.socket:tomcat2]
port=8019
host=127.0.0.1

[ajp13:tomcat2]
channel=channel.socket:tomcat2

[lb:lb1]
worker=ajp13:tomcat1
worker=ajp13:tomcat2

  1. Map the Tomcat examples webapp to the Web server uri space
    info=Map the whole webapp
    [uri:/anjilogistic/*]
    group=lb:lb1
    以上定义了两个tomcat作为集群,分别使用8009和8019端口进行通信

5.为了使两个tomcat的session共享需要下载javagroups.jar和tomcat-javagroups.jar,将这两个jar拷贝到/usr/local/tomcat/server/lib目录下

6.拷贝/usr/local/tomcat到/usr/local/tomcat2然后分别修改conf/server.xml这个配置文件
因为有两个tomcat在同时运行,所以配置文件需要修改几个端口,
(1)用来shutdown的端口,分别改为8005和8015
(2)用来进行web服务的端口,一个改为8080,另一个改为8088
(3)加一个Connector
port="8019" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="0"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

另一个端口改为8009

(4)新建一个Context
reloadable="true" crossContext="true">
prefix="localhost_anjilogistic_log." suffix=".txt"
timestamp="true"/>
home="com.wombat.empl.EmployeeRecordHome"
remote="com.wombat.empl.EmployeeRecord"/>
debug="10"
printToScreen="true"
saveOnRestart="false"
maxActiveSessions="-1"
minIdleSwap="-1"
maxIdleSwap="-1"
maxIdleBackup="-1"
pathname="null"
printSessionInfo="true"
checkInterval="10"
expireSessionsOnShutdown="false"
serviceclass="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="127.0.0.1"
mcastPort="45566"
mcastFrequency="500"
mcastDropTime="5000"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="2"
useDirtyFlag="true">

value="15"/>
override="false"/>
type="javax.sql.DataSource"/>

usernamesa
password
driverClassName
org.hsql.jdbcDriver
url
jdbc:HypersonicSQL:database

type="javax.mail.Session"/>

mail.smtp.host
localhost

global="simpleValue"
type="java.lang.Integer"/>

为了使两个tomcat的session能够共享,放在session中的对象都要实现 Serializable接口 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值