Nginx+Redis+Tomcat学习笔记二(实现session共享)

上篇说过Nginx的安装使用,继续如下:

首先,Redis安装

1、解压redis-64.3.0.503.zip;
2、进入解压后的目录,并在此页面打开cmd命令;
3、输入命令注册redis服务,redis-server –service-install redis.windows.conf,注意:其中redis.windows.conf为当目录下的配置文件。
(这里有坑,有的电脑运行这个命令会报打不开“–service-install”,可以把命令换成
redis-server.exe –service-install redis.windows.conf,我是这样的哦了的)
4、打开redis.windows.conf,知道到# requirepass foobared这句话,然后在换行加入requirepass ****,设置密码(****代表访问redis的密码,在tomcat配置中需要使用到)。
5、找到bind 127.0.0.1这行,并在前面加上#,表示注释该行。如果不注释,则表示只能本机访问redis。
6、右键我的电脑–管理–打开电脑服务,找到redis并启动,设置为自动启动。

然后,我们需要三个jar包,放入tomcat的lib目录下:

jar包
找不到资源的的可以加我Q:1716750380
继续,在tomat的conf文件夹下打开context.xml文件,在标签内部新增如下代码:

  <Valve className="com.javazhan.tomcat.redis.session.RedisSessionHandlerValve" />        
    <Manager className="com.javazhan.tomcat.redis.session.RedisSessionManager" 
      host="192.168.x.xxx"
      port="6379"
      password="xxxx"
      database="0"
      maxInactiveInterval="60" />

其中,host为redis服务器ip地址,port为6379固定值,password为在安装redis服务器时所设置的密码。
注意:Valve 不是 Value

安装完成后就可以实现session共享了,我们来测试一下:

我测试使用了两台服务器,A服务器和B服务器(与Nginx里upstream里链接的服务器对应);

A服务器的准备工作:

我们先在A上的tomcat里,webapps下面添加一个文件夹test,里面放一个a.jsp,内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>session_a</title>
</head>
<body>
  <%String s = session.getId(); //获取session ID号  %>
  <%=s %>
  <%
	session.setAttribute("sess", "session success"); 
  %>
</body>
</html>

准备工作都完成了,启动tomcat。
观察cmd,如果没有报错,先在浏览器上访问一下a.jsp

localhost:8080

如果出现了a.jsp页面没问题,启动你的Nginx(此时Redis服务也是启动的)
然后我们去B服务器;

B服务器的准备工作

和A服务器差不多
我们按照原来的步骤把Redis加到tomcat上(B就不需要安装Redis服务了)
然后配置好B服务器的tomcat
然后webapps—>test—>b.jsp,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>session_b</title>
</head>
<body>
<%String s = session.getId(); //获取session ID号  %>
 <%=s %>
 <br/>
 <br/>
<%=(String)session.getAttribute("sess")%>
 
</body>
</html>

启动,观察,测试localhost:8080
没问题 :)
到redis的服务器上(我的redis服务放A上面了)
访问Nginx设置的域名,访问过a.jsp之后
访问b.jsp,如果b页面上出现了a往session里放的内容,
那么恭喜你,session共享成功了
参考:https://blog.csdn.net/clj198606061111/article/details/46051483

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值