CentOS7 下 Nginx + Tomcat 实现 Session 共享 在之情的文章中搭建的 centos7 + tomcat + nginx 的环境的基础上, 使用 redis 实现 tomcat 的 session 共享的问题。 一 : 安装 Redis 安装 gcc: yum install -y gcc-c++ 使用 FTP 服务器上传安装包,解压上传的 redis 的包 tar -zxvf redis-3.0.0.tar.gz 进入解压目录 redis-3.0.0 执行 make PREFIX=/usr/local/redis install 把 redis-3.0.0 目录下的 redis.conf 文件 cp 到 /usr/local/redis 中 启动 /usr/local/redis 目录下 执行 ./bin/redis-server ./redis.conf 修改 /usr/local/redis 目录下的 redis.conf daemonize no ----> 改成 yes 也就是后端启动
关闭 /usr/local/redis 目录下 执行 ./bin/redis-cli shutdown
二 : redis + tomcat 实现 session 共享 首先,需要在 tomcat 的安装目录下的 lib 目录下添加以下三个 jar 包 (!!关于 jar 包, 可能会出现 jar 包冲突的问题, 参考 https://github.com/izerui/tomcat-redis-session-manager ) commons-pool2-2.2.jar jedis-2.5.2.jar tomcat-redis-session-manager-2.0.0.jar 然后修改在 tomcat 的安装目录下的 conf 目录里的 context.xml 文件 在 <Context> 节点中, 添加以下内容: 1 <ValveclassName="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> 2 <ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager" 3 host="192.168.191.2" 4 port="6379" 5 database="0" 6 maxInactiveInterval="60" /> 注意 注意 注意 : Valve 而不是 Value 关闭所有的 tomcat , nginx ,redis, 重启 redis (先开启 redis , 不然会报错), 重启 nginx 和 tomcat, 访问 tomcat 时就能看到 session 不变了 最后是用 RedisDesktopManager 查看存入 redis 的 session 数据