nginx使用memcached实现session同步

2021/5/11 7:27:04

本文主要是介绍nginx使用memcached实现session同步,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

首先两台real server需要有jdk和tomcat

首先安装JDK:

node2 与 node3 下:

将jdk的rpm包上传到/opt/apps上

使用rpm -ivh jdk* 命令进行rpm安装

会安装到/usr/java/jdk*目录下

然后将

在/etc/profile文件的最后一行加上

export JAVA_HOME=/usr/java/jdk1.7.0_80/

export PATH=$PATH:$JAVA_HOME/bin

保存并关闭

source /etc/profile

再输入jps有回执信息即安装成功

安装Tomcat:

node2 和 node3下:

tar -zxvf apache-tomcat-7.0.69.tar.gz

打开Tomcat下的web-app/ROOT/index.jsp文件将内容全删了修改为:

from 192.168.88.62 <br/>
session=<%=session.getId()%>
打开Tomcat下的bin/目录

安装memcached:

NGINX服务器上:

yum install libevent -y

yum install memcached -y

memcached -d -m 128m -p 11211 -l 192.168.88.65 -u root -P /tmp/

-d 表示后台启动服务;-m 表示需要128M的内存;-p表示使用端口11211;-l表示IP地址为192.168.88.65;-P:服务器启动后的系统进程ID,存储的文件;-u:服务器启动是以哪个用户名作为管理用户

node2 和node 3下:

打开tomcat目录下conf/context.xml

在context标签内加入:

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="n1:192.168.88.65:11211"

    sticky="false"

    lockingMode="auto"

    sessionBackupAsync="false"

requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

    sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

/>

最后将memcached的jar包传给node2和node3的tomcat目录下的lib文件夹内

在NGINX服务器上将nginx目录下的conf/nginx.conf内的rses内的ip地址后面都加上8080端口即可,如下:

upstream rses{
        server 192.168.88.62:8080;
        server 192.168.88.63:8080;
}

最后重启nginx服务,打开node2和node3的tomcat

通过访问http://www.zkhandsome.com/toms虽然real server不一样,但是session是一样的。

 



这篇关于nginx使用memcached实现session同步的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程