tomcat8+MSM+nginx+session共享

tomcat8+MSM+nginx+session共享

编码文章call10242025-04-03 19:33:2233A+A-

前几节,我们说到tomcat6、7+nginx使用memcached-session-manager实现session共享,但是说在tomcat8下还存在一点点问题,由于已经更新到最近的版本,今天就以tomcat8做一个说明,如果需要看回之前的知识,欢迎订阅我的头条号:一点热。

快速入口:

Springmvc使用Nginx负载均衡session共享

这里以memcached-session-manager1.9.5版本为例

知识准备:

掌握memcached的基本知识,可以自行安装memcached,Nginx安装与负载均衡的配置,在tomcat配置memcached-session-manager。

1、安装memcached

我这里以手动安装为例:

下载依赖库libevent

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz

编译与安装libevent

tar zxvf libevent-2.0.22-stable.tar.gzcd libevent-2.0.22-stable/./configure --prefix=/usr/libeventmake & make install

下载Memcached

wget http://www.memcached.org/files/memcached-1.4.26.tar.gz

编译与安装memcached

tar zxvf memcached-1.4.26.tar.gzcdmemcached-1.4.26/./configure --prefix=/usr/memcached --with-libevent=/usr/libevent/make &make install

2、启动memcached

memcached -d -m 256 -u root -p 11211 -c 1024 –P /tmp/memcached.pid

3、JDK与tomcat的安装

这里就不再详细介绍了

4、下载memcached-session-manager所需的文件

注意,我这里是以tomcat8为例子,如果其他版本,请下载对应版本的
memcached-session-manager-tc{版本}-1.9.5.jar

memcached-session-manager-1.9.5.jar

memcached-session-manager-tc8-1.9.5.jar

spymemcached-2.11.1.jar

5、把上面三个文件复制到tomcat8的lib下

如图

6、下载序列化的包

我这里使用kryo-serializer的方法,它需要用到几个包

对于下载的方法
比较简单的方法是使用maven,当然也可以使用gradle,这里有些人说不知道怎么创建,大家可以说使用myeclipse或者intelliJ idea,这些工具可以很容易创建的,创建好后可以运行到tomcat,然后在里面找到lib,当然你也可以到我的github下载:
https://github.com/yeehot/tomcat8-session-msm

maven的下载方法如下

de.javakaffee.msm

msm-kryo-serializer

1.9.5

runtime

7、复制上面的几个包到tomcat8的lib下

8、配置tomcat8的conf的context.xml

...

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

memcachedNodes="n1:192.168.3.4:11211,n2:192.168.3.5:11211"

failoverNodes="n1"

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

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

/>

...

注意:

n1:代表VM1服务器的地址

n2:代表VM2服务器的地址

9、nginx安装

这里大家可以看回之前的文章

10、nginx配置

upstream commentserver{

server 192.168.3.4:8080 weight=1;

server 192.168.3.5:8080 weight=1;

}




location /YeehotMSM/{

proxy_pass http://commentserver;

}

11、测试负载均衡

http://192.168.3.5/YeehotMSM/

可以看到上面两个session ID的值是没有变化,这说明我们的session共享成功了。

下一节,我会讲解couchbase+tomcat实现session共享。

欢迎大家收藏与转发,如果转载到其它网站,请与我联系。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4