Tomcat实现Session复制

Tomcat实现Session复制

需要三台虚拟机一台Nginx两台Tomcat

关闭相关的安全机制

systemctl stop firewalld
iptables -F
setenforce 0

首先需要将两台Tomcat和一台nginx实现负载均衡

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf

在http底下写入一个地址池里面写入你的IP地址:端口:权重

 upstream tomcat_server {                             #你的地址池

server 192.168.200.12:8080 weight=1;         

server 192.168.200.13:8080 weight=1;

    }

在server里面实现你访问jsp的负载均衡

location ~ .jsp$ {

            proxy_pass http://tomcat_server;         #你的地址池名称

           proxy_set_header Host $http_host;

        }

一:配置各个机器的主机名

一台命名为Nginx

两台命名为node1 ,node2

[root@localhost ~]#hostname Nginx

[root@localhost ~]#hostname node1

[root@localhost ~]#hostname node2

二:配置主机名与ip的映射

[root@localhost ~]# vim /etc/hosts            #修改etc下的hosts文件

192.168.200.16 nginx

192.168.200.12 node1

192.168.200.13 node2

三:修改Tomcat的配置文件               

注:两台Tomcat都要做相同配置

[root@node1 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp              #创建测试文件
Session ID:<%= session.getId() %><BR>
Sessionport:<%= request.getServerPort() %>
<% out.println("hello 192.168.200.12");%>

[root@node1 ~]# vim /usr/local/tomcat/conf/server.xml       #修改Tomcat的主配文件

<Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">                #将括号中加入jvmRoute=“node1”主机名

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>                 #取消注释(还有官方的方法加入官方给的代码)

[root@node1 ~]# vim /usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml        #修改web.xml文件

将文件的倒数第二行加入<distrbutable/>

四:重新启动服务

[root@node1 ~]# /usr/local/tomcat/bin/shutdown.sh && /usr/local/tomcat/bin/startup.sh
 五:如果出现错误需要添加组播地址

route add -net 224.0.0.0 network 240.0.0.0 dev ens32     #最后写入自己的网卡名称

六:测试

 

原文地址:https://www.cnblogs.com/ZCQ123456/p/11580943.html