Nginx tomcat8.5集群 与 redis session 共享

栏目: 服务器 · 发布时间: 8年前

内容简介:Nginx tomcat8.5集群 与 redis session 共享

(一) nginx配置tomcat集群

1.配置nginx.cnf文件如下:

server {       listen 80 default_server; server_name _;        return 444; #过滤其他域名的请求,返回444状态码  } server {        listen 80;         server_name wx.ppp.com; # www.aaa.com域名          location /           {          proxy_pass http://wx.ppp.com;      #    proxy_pass http://localhost:8088; # 对应端口号8088              #proxy_ignore_headers X-Accel-Expires Expires Cache-Control;                 #proxy_ignore_headers Set-Cookie;              #proxy_hide_header Set-Cookie;              #proxy_hide_header X-powered-by;              proxy_set_header X-Real-IP $remote_addr;              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;              proxy_set_header X-Forwarded-Proto https;              proxy_set_header Host $http_host;              expires 10m;          }  }  #服务器的集群   upstream  wx.ppp.com {  #服务器集群名字            server    127.0.0.1:8088  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。           server    127.0.0.1:38088  weight=1;       }

(二)配置tomcat 与 redis session共享

1、安装redis

下载:wget -q http://download.redis.io/releases/redis-3.2.1.tar.gz  解压:tar -xzf redis-3.2.1.tar.gz  切换目录 cd ./redis-3.2.1  编译:make  安装:make install  运行:src/redis-server

2、 添加以下jar包:

tomcat85-session-redis-1.0.jar

jedis-2.9.0.jar

commons-pool2-2.4.2.jar

3、分别修改集群中tomcat的 context.xml 文件 ,在 Context下添加如下代码:

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"          host="localhost"           port="6379"           database="0"           maxInactiveInterval="60"  />

4、重启tomcat ,若启动正常则配置成功。

5、浏览器中分别访问集群tomcat 中的页面,观察sessionid 是否一致。

6、创建读写session jsp,一个用来写session,一个用来读session。

read.jsp读取session中的 userId

<%@ page language="java" cmock="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" cmock="text/html; charset=UTF-8"> <title>Read session</title> </head> <body> Server : Server 1 (因需将页面部署在不同Tomcat,以测试能读取另一台Tomcat设置的Session,请自行设服务器标识)<br /> <%=request.getSession().getAttribute("userId")%> </body> </html>

write.jsp写入userId到session中

<%@ page import="java.util.Date"%> <%@ page language="java" cmock="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" cmock="text/html; charset=UTF-8"> <title>Write session</title> </head> <body> Server : Server 1 (因需将页面部署在不同Tomcat,以测试能读取另一台Tomcat设置的Session,请自行设服务器标识)<br /> Write session <% request.getSession().setAttribute("userId", new Date().getTime()); %> </body> </html>

分别将两个jsp文件放到tomcat中,在其中的一个tomcat中运行 write.jsp写入userId。然后其他tomcat中运行 read.jsp查看userId的值,发现会读取到第一个页面写入的userId,并且和其他tomcat中读取的值一致。大功告成!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Python

Head First Python

Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99

Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具