nginx+tomcat集群--(session同步)
ulimit -SHn 65535echo "ulimit -SHn 65535" >>/etc/rc.local
环境:
redhat6.3、pcre-8.12、nginx-upstream-jvm-route-0.1、nginx-1.0.5、apache-tomcat-6.0.33
nginx服务器地址:192.168.10.40
tomcat1:192.168.10.20
tomcat2:192.168.10.30
拓扑如下:
1.安装nginx
下载pcre包:
wget http://ftp.exim.llorien.org/pcre/pcre-8.12.tar.gz
tar zxf pcre-8.12.tar.gz
cd pcre-8.12
./configure
make;make install
下载下面的插件安装,否则nginx无法识别tomcat中jvmRoute,从而无法达到session复制的效果。
wget http://friendly.sinaapp.com//LinuxSoft/nginx-upstream-jvm-route-0.1.tar.gz
tar xzf nginx-upstream-jvm-route-0.1.tar.gz
下载nginx源码包:
wget http://nginx.org/download/nginx-1.0.5.tar.gz
tar xzf nginx-1.0.5.tar.gz
cd nginx-1.0.5
patch -p0 export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
source /etc/profile //使环境变量立即生效
5.tomcat集群配置
tomcat1配置:
修改vim /usr/local/tomcat/conf/server.xml配置文件;找到Engine 这行修改,并且在这行添加
下面的
channelSendOptions="8">
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
address="224.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
address="192.168.10.20"
port="4001"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
filter=""/>
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
注意:以上有个IP为address="192.168.10.20" 修改为自己本机的ip。
address="192.168.1.102"组播IP,一般为本机
address="224.0.0.4"#约定的广播地址,所有服务器相同
port="4001"#集群通讯端口--如果tomcat集群在不同机器上端口可修改为不同
tomcat2配置:
修改/usr/local/tomcat/conf/server.xml配置文件类似上面的tomcat1的配置:
如下:
channelSendOptions="8">
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
address="224.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
address="192.168.0.30"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
filter=""/>
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
注意:以上有个IP为address="192.168.10.30" 修改为自己本机的ip。
6.session配置
修改web应用里面WEB-INF目录下的web.xml文件,加入标签
直接加在之前
开启网卡组播功能: --(两台都运行同样的如下命令)
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
7.修改tomcat的web主目录--- 两台机器分别都运行。
vim /usr/local/tomcat/conf/server.xml
找到
在这行下面添加如下一行--即可把目录换成了/liang/test/下:
7.创建jsp测试页面
在tomcat1下建立目录test
mkdir /liang/test/
vi index.jsp
tomcat1 jsp
----------------------------
在tomcat2下建立目录test
mkdir /liang/test/
vi index.jsp
tomcat2 jsp
8.在两台tomcat上分别启动tomcat 进行测试:
启动命令:
cd /usr/local/tomcat/bin
./startup --启动进行访问
9.测试结果
访问192.168.10.40 返回的结果为tomcat1或者tomcat2上一台后就不会改变访问结果
注意: 中途有问题 可以在单独搭建好tomcat后分别访问tomcat的8080端口看是否能正常访问网站
----如果不能,可查看下机器上的iptables等进行排错。
补充:想要适当解决内存溢出问题jdk选jrockit-jdk1.6.0_29-R28.2.0-4.1.0-linux-x64
页:
[1]