最近几天,由于项目需要使用Nginx反向代理多个Tomcat8服务器。我的环境是Linux平台,实现了Nginx反向代理,却出了一点问题:网站时,由于Tomcat是多台为我们服务,每过一会,就会出现Session发生变化的问题。session变化,会使我们的项目出问题。
经过一天半的时间,在网络上找相关的解决方案,尝试了一次又一次,终于解决了问题,因此,写下这篇博客,帮助新手可以以最短的时间解决session不同步的问题。
我的环境是:CentOS7[Linux]+JDK8+Tomcat8.x+Nginx+redis4.x
由于我的环境都是比较新的版本,所以网络上很多解决方案都不能解决我的问题,最后耽误了好久才解决这个问题。
--------------------------------------------------正文-----------------------------------------------------------------
1.Tomcat8安装,配置
从官网下载Tomcat8,先在/usr/local/下新建文件夹tomcat1 ....tomcatN(N:为你需要的Tomcat服务器个数)
解压Tomcat8.x到/usr/local/tomcat1 .../usr/local/tomcatN中。
如果希望多个Tomcat可以同时运行,需要修改端口号。在tomcat目录下找到conf文件夹使用文本编辑器打开server.xml.
第一个tomcat不需要修改端口号,第二个至第N个需要修改端口号,是为了防止端口号冲突。我们建议端口号,在上一个相同位置的端口号位置,依次递增1。
2.Nginx安装配置
3.redis安装配置
这个两个比价简单建议随便找个博客OK
4.解决session不同步的问题
我们需要添加jar包到Tomcat的lib 目录下,jar包的版本,要与我们所需要的环境一样,这也是我尝试了好多次都失败的原因。好多博客,只写博客文章,并不放jar包,这是我浪费了很多时间的根源,也是我写本文的初衷。jar包,在下面的链接中,里面有配置的具体做法。
https://download.csdn.net/download/annjeff/10394111
你也可以直接下我配置好的Tomcat8
https://download.csdn.net/download/annjeff/10394145
5.测试
必须启动redis,nginx ,才能启动Tomcat
我用两台Tomcat进行的测试
测试成功。