使用Redis存储Nginx+Tomcat负载均衡集群的Session

环境:CentOS 7.0(虚拟机环境)、Nginx 1.9.8、Redis 3.2.1

一、背景

在使用Nginx+Tomcat实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因为会出现session不同步或者丢失的问题。

二、Nginx安装与配置

1、Nginx安装

网上的资源对于安装Nginx的介绍比较多,例如最简单的为:

1) 获取nginx,在.org/download/上可以获取当前最新的版本下载,例如: wget .org/download/nginx-1.9.8.tar.gz2)解压缩tar -xvf nginx-1.9.8.tar.gz包。 (3)进入解压缩目录,执行./configure --prefix=/usr/local/nginx-1.9.8 将Nginx安装到/usr/local/nginx-1.9.8目录下 (4)make & make install

安装的过程会将Nginx安装到/usr/local/nginx-1.9.8目录下,启动Nginx测试是否可以正常启动。

2、修改Nginx配置多Tomcat服务器

2.1、修改conf/nginx.conf文件,在server标签上边添加upstream如下:

upstream mynginxserver { #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 server 127.0.0.1:8080 weight=1; server 127.0.0.1:8060 weight=1; }

这里指定了本机下的两个Tomcat实例,端口分别为8080,8060,权重都为1,后边配置Tomcat实例,mynginxserver这个是自己随意命名的,下边要用到

2.2、配置server标签;

server { listen 80; server_name 192.168.1.149; #charset koi8-r; #access_log logs/host.access.log main; location / { # root html; # index index.html index.htm; proxy_pass http://mynginxserver; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

2.3、配置之后的完整内容如下(1.9.8版本删去了注释后的配置内容):

worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream mynginxserver { server 127.0.0.1:8080 weight=1; server 127.0.0.1:8060 weight=1; } server { listen 80; server_name 192.168.1.149; location / { proxy_pass ; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

2.4、具体的配置项和配置项的具体意义请参考
https://www.nginx.com/resources/wiki/start/topics/examples/full/

三、Tomcat多实例的配置

1、解压apache-tomcat-7.0.67.zip 得到apache-tomcat-7.0.67

[root@localhost www]# unzip apache-tomcat-7.0.67.zip

2、将apache-tomcat-7.0.67重命名为tomcat1

[root@localhost www]# mv apache-tomcat-7.0.67 tomcat1

重复1、2过程得到tomcat1和tomcat2如下所示:

3、修改Tomcat1的端口为8080和部署项目文件

编辑tomcat下的conf/server.xml,修改端口号为8080,

自己写的用于测试Nginx反向代理的web项目war包下载地址:

Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2016年资料/9月/9日/使用Redis存储Nginx+Tomcat负载均衡集群的Session/

下载方法见

------------------------------------------分割线------------------------------------------

下载好之后将解压之后的编译好的项目文件放到tomcat1/webapps/ROOT/目录下:

这里写图片描述

修改index.jsp和login.jsp文件分别标识为具体的Tomcat容器

这里写图片描述

4、修改Tomcat2的端口为8060和部署项目文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/35c9075e59bdba372a6e465d6c6d1690.html