上篇说过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目录下:
找不到资源的的可以加我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