Nginx tomcat8.5集群 与 redis session 共享

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

内容简介: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中读取的值一致。大功告成!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

编码整洁之道

编码整洁之道

罗伯特·C.马丁 / 电子工业出版社 / 2012-8 / 59.00元

忍受各种不确定性及不间断的压力并能够获取成功的程序员有一个共通特征:他们都深度关注软件创建实践。他们都把软件看做一种工艺品。他们都是专家。在“鲍勃大叔”看来“专业”的程序员不仅应该具备专业的技能,更应该具备专业的态度,这也是本书阐述的核心。专业的态度包括如何用带着荣誉感、自尊、自豪来面对进行软件开发,如何做好并做得整洁,如何诚实地进行沟通和估算,如何透明并坦诚地面对困难做抉择,如何理解与专业知识相......一起来看看 《编码整洁之道》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具