搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
2017-01-19 19:43
861 查看
阅读目录一、环境搭建二、Nginx的安装配置与测试三、配置Tomcat集群四、用Nginx实现集群的负载均衡五、安装配置Redis并实现Session共享感谢以下博主的精彩博文,虽然坑较多。。内容重复较多。。
2)重启Nginx+View code
一、环境搭建
Linux下搭建Tomcat7、Java8二、Nginx的安装配置与测试
看博主另一篇文章CentOS7 安装nginx1.11
三、配置Tomcat集群
1)复制出两个Tomcat复制:cp -r Tomcat-7 ./Tomcat7-2 重命名:mv Tomcat-7 Tomcat7-1 查看:ls bin etc games include lib man nginx sbin share soft src ssl Tomcat7-1 Tomcat7-22)修改其中一个Tomcat的 server.xml+View code
打开配置文件:vim conf/server.xml<Server port="8005"shutdown="SHUTDOWN">改为 8006<Connector port="8080"protocol="HTTP/1.1"改为 8081<Connector port="8009"protocol="AJP/1.3"改为 8010 保存::wq 3)添加测试页面
创建应用文件夹: mkdir /usr/local/Tomcat7-1/webapps/www mkdir /usr/local/Tomcat7-2/webapps/www 添加测试页面:vim /usr/local/Tomcat7-1/webapps/www/index.jsp
<%@ pagelanguage="java" %><html> <head><title>TomcatA</title></head> <body> <h1style="color:red;">Tomcat A</h1> <tablealign="centre"border="1"> <tr> <td>SessionID</td> <td><%= session.getId() %></td> </tr> <tr> <td>Createdon</td> <td><%= session.getCreationTime() %></td> </tr> </table> </body></html>sessionID:<%=session.getId()%><br>SessionIP:<%=request.getServerName()%><br>SessionPort:<%=request.getServerPort()%><%out.println("Thisis Tomcat Server A");%> |
复制测试页面:cp /usr/local/Tomcat7-1/webapps/www/index.jsp /usr/local/Tomcat7-2/webapps/www/4)分别启动两个Tomcat
启动服务:
cd /usr/local/Tomcat7-1/bin/ ./startup.sh浏览器打开IP:8080/www/index.jsp 与 IP:8081/www/index.jsp,显示如下
![](http://images2015.cnblogs.com/blog/731716/201605/731716-20160513075914452-1259559715.png)
![](http://images2015.cnblogs.com/blog/731716/201605/731716-20160513075928296-10471980.png)
四、用Nginx实现集群的负载均衡
1)修改Nginx配置文件+View code打开配置文件:vim /usr/local/nginx/conf/nginx.conf 在http { 内添加: #Tomcat upstream zhengbin { server 192.168.33.10:8080 max_fails=1 fail_timeout=10s; server 192.168.33.10:8081 max_fails=1 fail_timeout=10s; } 在http { 的 server { 的 location / { 内添加: proxy_pass http://zhengbin; 保存配置::wq
![](http://images2015.cnblogs.com/blog/731716/201605/731716-20160513083024859-494110164.png)
重新加载命令:/usr/local/nginx/sbin/nginx -s reload 查看更多命令:nginx/sbin/nginx -h现在浏览器打开http://IP/www/,同样显示TomcatA或TomcatB,尝试不断刷新,两个页面会交替显示,即成功 但发现SessionID并不相同,接下来通过Redis来实现Session的共享(同步)
五、安装配置Redis并实现Session共享
1)安装测试Redis可以参考博主另一篇博客: 也可以安装一个redis 不用安装集群CentOS7 配置redis3.0集群
2)下载相关jar1.下载commons-pool,建议下载1.6,2.4.2没有测试成功 2.下载tomcat-redis-session-manager,我用的jdk7所以用的是-7.jar 3.下载jedis作为java的redis客户端,建议用2.1.0,最新版本没有测试成功 最后将三个jar分别放在两个Tomcat的 /lib 中3)配置Tomcat
修改配置文件:vim /usr/local/Tomcat7-1/conf/context.xml 在<Context>节点中,添加以下内容: <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
maxInactiveInterval="60"/> 复制:cp /usr/local/Tomcat7-1/conf/context.xml /usr/local/Tomcat7-2/conf/
复制的小伙伴tomcat启动的时候要是报错,可能是上面内容空格有问题,可以把空格删了自己重新空格4)启动测试
1.启动Nginx:/usr/local/nginx/sbin/nginx2.启动Redis:redis-server
3.启动Tomcat:/usr/local/Tomcat7-1/bin/startup.sh && /usr/local/Tomcat7-2/bin/startup.sh浏览器打开http://IP/www/index.jsp 发现即使两个Tomcat在切换,但各自的SessionID是相同的到此配置全部完成
相关文章推荐
- 初步搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- 搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- 搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- 搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- 【原创】搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- 搭建Nginx(负载均衡)+Redis(Session共享)+Tomcat集群
- Windows+Nginx+Tomcat搭建负载均衡和集群环境实现session共享
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- Windows环境下Nginx+Tomcat+Redis实现应用服务器集群负载均衡和Session共享
- Nginx+Tomcat+Redis搭建共享SESSION集群
- Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
- Nginx+Tomcat+Redis实现应用服务器集群负载均衡和Session共享
- Nginx+tomcat+redis集群共享session实现负载均衡
- Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现session共享(一)
- Linux下搭建Nginx+Keepalived+Redis+Tomcat实现session共享 、负载均衡、高可用
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现session共享(一)
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- Nginx+Redis+Tomcat实现session共享集群 推荐
- 集群与负载均衡系列——nginx ip_hash或redis实现共享session(2)