tomcat8+MSM+nginx+session共享

createh52周前 (06-09)技术教程12

前几节,我们说到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的下载方法如下

<dependency>

<groupId>de.javakaffee.msm</groupId>

<artifactId>msm-kryo-serializer</artifactId>

<version>1.9.5</version>

<scope>runtime</scope>

</dependency>

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

8、配置tomcat8的conf的context.xml

<Context>

...

<Manager pathname="" />

<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"

/>

...

</Context>

注意:

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共享。

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

相关文章

如何理解Nginx和Tomcat?

Nginx和Tomcat是两种常用的Web服务器,它们都可以用来提供Web服务,但在一些方面有所不同。Nginx是一个高性能的反向代理服务器和Web服务器,它主要用来处理静态资源的请求,比如图片、样式...

Vue脚手架安装,初始化项目,打包并用Tomcat和Nginx部署

1.创建Vue脚手架# 1.在本地文件目录创建my-first-vue文件夹,安装vue-cli脚手架: npm install -g vue-cli 安装过程如下图所示:创建my-first-vue...

【Nginx】Nginx 4种常见配置实例

本文主要介绍nginx 4种常见的配置实例。Nginx实现反向代理;Nginx实现负载均衡;Nginx实现动静分离;Nginx实现高可用集群;Nginx 4种常见配置实例如下:一、Nginx反向代理配...

前端_react项目从windows部署到centos

前言:从工程角度来讲,本地开发完就要把项目部署到生产环境,此过程的快慢也直接影响着整体的效率。所以也有很多人做持续集成的工作,例如:CI/CD/一键部署。但对于个人开发者而言,如果能有工具支撑是最好的...

Linux环境通过Dockerfile创建Tomcat镜像

简介: Docker通过读取Dockerfile里面的内容可以自动创建镜像(image),Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系。Docker程序将读...

tomcat+Nginx负载均衡对session处理2

上一节,我们把session的原理分析了一下,对缓存机制做了一个解释,引入我们的缓存机制memcached,同时也提到了一套开源的memcached管理方案Memcached Session Mana...