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     #最后写入自己的网卡名称

六:测试

Tomcat实现Session复制的更多相关文章

  1. nginx tomcat glassfish session 复制配置

    1.nginx配置 [root@www1-nlb1 ~]# cat /usr/local/nginx/conf/nginx.conf | grep -v ^$ | grep -v ^# user  w ...

  2. nginx+tomcat集群负载均衡(实现session复制)

    转自:http://talangniao.iteye.com/blog/341512 架构描述 前端一台nginx服务器做负载均衡器,后端放N台tomcat组成集群处理服务,通过nginx转发到后面( ...

  3. Tomcat中session复制技术

    一.准备三台机器主机的服务都正常,nginx与Tomcat构建负载均衡 主机名     IP地址 nginx       192.168.200.111 Tomcat1  192.168.200.11 ...

  4. 基于redis实现tomcat的session会话保持 (转)

    出处:https://cloud.tencent.com/developer/article/1402997 基于redis实现tomcat的session会话保持 在实际生产中,我们经常部署应用服务 ...

  5. nginx+tomcat的集群和session复制

    前端服务器采用nginx,后端应用服务器采用tomcat.nginx负责负载均衡,session复制在tomcat上处理. 1.nginx安装(略) 2.nginx配置负载均衡 http { incl ...

  6. nginx+tomcat负载均衡和session复制

    本文介绍下传统的tomcat负载均衡和session复制. session复制是基于JVM内存的,当然在当今的互联网大数据时代,有更好的替代方案,如将session数据保存在Redis中. 1.安装n ...

  7. Apache + Tomcat 负载均衡 session复制

    转自:http://blog.csdn.net/cssmhyl/article/details/8455400 http://snowolf.iteye.com/blog/743611 Apache  ...

  8. Tomcat集群session复制与Oracle的坑。。

    问题描述 公司某个系统使用了tomcat自带的集群session复制功能,然后后报了一个oracle驱动包里面的连接不能被序列化的异常. 01-Nov-2017 16:45:26.653 SEVERE ...

  9. Apache_proxy负载均衡和Session复制

    今天上网查了查资料,之前使用apache的jk模块做负载均衡.后来觉得jk的负载配置有点死板,只能按照负载权重值来进行请求的分发,没有做到比较智能的负载平衡,并且使用mod_jk访问页面发现确实比较慢 ...

随机推荐

  1. Docker常用yml

    GitLib version: '3.1' services: web: image: 'twang2218/gitlab-ce-zh:11.0.5' restart: always hostname ...

  2. .net core 集成 sentry 进行异常报警

    .net core 集成 sentry 进行异常报警 Intro Sentry 是一个实时事件日志记录和汇集的平台.其专注于错误监控以及提取一切事后处理所需信息而不依赖于麻烦的用户反馈.它分为客户端和 ...

  3. Spring MVC 笔记--配置基于JavaConfig

    主要使用基于 JavaConfig 方式配置 配置 DispatcherServlet 通过继承抽象类AbstractAnnotationConfigDispatcherServletInitiali ...

  4. java中OOM错误解析(面试可以聊的东西)

    嗯,生活加油鸭.... 实习中遇到OOM错误 GC overhead limit exceeded 问题,所以整理一下OOM异常问题: 先看一下“阿里的开发手册”对OOM的描述: OOM,全称“Out ...

  5. MTK Android 平台语言支持状态

    Language English Name Chinese Name Code GB ICS  JB  KK L العربية Arabic(Israel) 阿拉伯语(以色列) ar_IL Y Y ...

  6. VUE_shop(第十天)项目的打包优化

    项目的打包优化 1.添加页面的加载效果 1.首先安装运行依赖nprocess,在main.js文件中的axios拦截器拦截请求的时候调用Npeocees.start. 在拦截响应的时候调用nproce ...

  7. "图片组件"组件:<pic> —— 快应用组件库H-UI

     <import name="pic" src="../Common/ui/h-ui/media/c_pic"></import> & ...

  8. scala_spark实践3

    Spark 读写HBase优化 读数据 可以采用RDD的方式读取HBase数据: val conf = HBaseConfiguration.create() conf.set(TableInputF ...

  9. 判断一组checkbox/redio是否被选中,为其添加样式

    业务场景:当一行中有一个CheckBox被选中,则为此行添加class. <script type="text/javascript"> $(function(){ $ ...

  10. Linux C++ 网络编程学习系列(3)——多路IO之poll实现

    poll实现多路IO 源码地址:https://github.com/whuwzp/linuxc/tree/master/poll 源码说明: server.cpp: 监听127.1:6666,功能是 ...