Nginx+Redis+tomcat7 实现负载均衡、session共享

作为学习记录一下,以便以后用到能快速集成。

一、Nginx负载均衡

       所谓的负载均衡就是通过Nginx把客户机的请求分发给不同的tomcat去处理,以免单个服务器因大量请求引发处理过慢或者挂掉。

首先到http://nginx.org/en/download.html下载一个Nginx

1、解压,打开命令行cd到你解压的目录  nginx

Nginx+Redis+tomcat7 实现负载均衡、session共享_第1张图片

2、浏览器输入 http://localhost/    就可以看见nginx默认页面,类似tomcat的欢迎界面

Nginx+Redis+tomcat7 实现负载均衡、session共享_第2张图片

3、接下来准备两个tomcat端口自己定,不冲突就行本人:apache-tomcat-7.0.47-1  8080  apache-tomcat-7.0.47-2 8081,打开nginx目录下conf文件夹编辑nginx.conf文件

Nginx+Redis+tomcat7 实现负载均衡、session共享_第3张图片

加入upstream 模块

upstream test{
server localhost:8080;
server localhost:8081;
}

Nginx+Redis+tomcat7 实现负载均衡、session共享_第4张图片

加入代理 

proxy_pass   http://test;

对tomcat加入一个javaWeb基础项目,对项目默认页面加入区分。启动nginx和两个tomcat

浏览器访问http://localhost/

Nginx+Redis+tomcat7 实现负载均衡、session共享_第5张图片

通过刷新页面就可以看见tomcat1与tomcat2两个服务器随机出现,到此nginx负载均衡结束。

二、Redis session共享

        上面用到了两个tomcat就存在单客户端访问session无法做到唯一的问题。

1、到https://redis.io/download下载一个redis,解压,运行redis-server.exe

Nginx+Redis+tomcat7 实现负载均衡、session共享_第6张图片

看到这个基本算是成功了,运行redis-cli.exe 可以尝试一下

Nginx+Redis+tomcat7 实现负载均衡、session共享_第7张图片

2、把下面三个分别放到tomcat的lib下  https://download.csdn.net/download/xmp896683453/10316059 


分别在tomcat的conf文件编辑context.xml加入

  
         host="127.0.0.1"  
         port="6379"  
         database="0"  

         maxInactiveInterval="60" />

Nginx+Redis+tomcat7 实现负载均衡、session共享_第8张图片

启动完毕,在浏览器输入 http://localhost/  刷新页面可以看出,sessionId在两个tomcat容器上是同一个。

Nginx+Redis+tomcat7 实现负载均衡、session共享_第9张图片

至此nginx负载均衡、redis+tomcat 实现session共享的功能完成。

上面的集成所有工具包、demo为一下 https://download.csdn.net/download/xmp896683453/10317124


你可能感兴趣的:(Nginx+Redis+tomcat7 实现负载均衡、session共享)