基于tomcat集群会话保持
基于tomcat集群会话保持环境:
一台nginx:ip 172.17.13.136
一台tomcat1:ip 172.17.13.134
一台tomcat2:ip 172.17.13.135
一、tomcat上操作:
1、下载jdk并安装
lftp 172.17.0.1
cd pub/Sources/7.x86_64/jdk
mget jdk-8u144-linux-x64.rpm
rpm -ivh jdk-8u144-linux-x64.rpm
注意:安装完成后,都要配置JAVA_HOME环境变量,指向java的安装路径;
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
查看版本:Java -version
http://s1.运维网.com/images/20171212/1513069991385114.png
2、下载tomcat并解压:
(1)、从官网下载tomcat二进制安装包(http://tomcat.apache.org/)
#wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat- 8/v8.5.11/bin/apache-tomcat-8.5.11.tar.gz
或者ftp上下载(lftp 172.17.0.1;cd /pub/Sources/7.x86_64/tomcat/;mget apache-tomcat-7.0.78.tar.gz )
(2)、解压
tar xvf apache-tomcat-7.0.78.tar.gz -C /usr/local/
查看解压后的目录:
ll /usr/local/ | grep tomcat
3、为方便管理,创建软链接,或者直接mv改名。
ln -s /usr/local/apache-tomcat-7.0.78/ /usr/local/tomcat
4、PATH环境配置:
vim /etc/profile.d/tomcat.sh
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin:$PATH
赋予执行权限:
chmod +x /etc/profile.d/tomcat.sh
加载环境配置:
source /etc/profile.d/tomcat.sh
5、启动tomcat
catalina.sh start
查看tomcat是否正常启动(ss -ntl 查看端口8080)
http://s1.运维网.com/images/20171212/1513070039349943.png
6、测试是否正常:curl -I 127.0.0.1:8080
http://s1.运维网.com/images/20171212/1513070048916971.png
通过浏览器访问:http://172.17.13.135:8080
http://172.17.13.134:8080
可访问到tomcat页面如下
http://s1.运维网.com/images/20171212/1513070056799183.png
实现会话保持:
1、vim server.xml
#jvmRoute表示唯一表示本机,所以不同主机的是不同的。这个参数非必须
#多播地址应该是224~239,同一组里的多播地址相同
#address为本机能够向外通信的地址
2、vim /usr/local/tomcat/conf/web.xml给应用程序加标签,使其能够实现复制。在web-app字段加 。
将web.xml放在对应的项目目录下:
mkdir /usr/local/tomcat/webapps/test/WEB-INF
cp /usr/local/tomcat/conf/web.xml /usr/local/tomcat/webapps/test/WEB-INF/
重启服务:catalina.sh stop
catalina.sh start
如果不能启动,查看日志logs/catalina.out信息如下(不能加入到组播) :http://s1.运维网.com/images/20171212/1513070107385414.png
那么添加到达组播的路由即可:route add -host 228.14.14.4 dev eth0
二、Nginx服务器上操作:
1、vim /etc/nginx/nginx.conf
upstream tomcat { 在http段配置
server 172.17.13.136:8080;
server 172.17.13.137:8080;
}
index index.jsp index.html; server段
location /{
proxy_pass http://tomcat;
}
http://s1.运维网.com/images/20171212/1513070131776967.png
2、测试页面:在tomcat1和tomcat2上编辑测试页面,tomcat1内容为A,tomcat2内容为B
Vim /usr/local/tomcat/webapps/test/index.jsp
TomcatB
TomcatB
Session ID
Created on
3、访问nginx服务器进行验证:http://172.17.13.136/test/
可发现两台机器显示的session ID相同
http://s1.运维网.com/images/20171212/1513070142834084.png
http://s1.运维网.com/images/20171212/1513070148747623.png
三、tomcat结合memcached实现seesion共享:
在所有的tomcat节点上:两台主机既做tomcat也做memcached
下载五个jar包,将jar包放在/usr/local/tomcat/lib:
1、cd /usr/local/tomcat/lib;
lftp 172.17.0.1
>cd /pub/Sources/7.x86_64/msm
>mget javolution-5.4.3.1.jar
memcached-session-manager-1.8.3.jar
memcached-session-manager-tc7-1.8.3.jar
msm-javolution-serializer-1.8.3.jar
spymemcached-2.11.1.jar
>exit
2、在host段定义一个用于测试的context容器,并在其中创建一个会话管理器。
vim server.xml 删除之前的那一大段cluster配置,再在host中加入下面一段
重启服务:
catalina.sh stop
catalina.sh start
3、下载memcached,启动服务
yum install memcached -y
systemctl start memcached
4、测试页面及测试效果同上
页:
[1]