nginx+tomcat+memcached-session-manager组成简单集群

1、搭建环境

  192.168.29.128(luxh-01.com)  安装nginx,参考 http://www.cnblogs.com/luxh/p/4067038.html

  192.168.29.129(luxh-02.com)  安装tomcat和memcached

  192.168.29.130(luxh-03.com)  安装tomcat和memcached

2、安装memcached

  1)使用yum直接安装

[[email protected]02 ~]# yum install memcached

  2)启动memcached,默认的启动端口是11211

[[email protected]02 ~]# memcached -u memcached

  -u 指定用户

  3)测试是否启动成功

[[email protected]02 ~]# telnet 127.0.0.1 11211

3、安装Tomcat7

  参考:http://www.cnblogs.com/luxh/p/3188736.html

4、添加memcached-session-manager相关的jar到tomcat中

  将以下jar放到tomcat安装路径的lib目录中

memcached-session-manager-1.8.2.jar
memcached-session-manager-tc7-1.8.2.jar
spymemcached-2.11.1.jar

  注意tomcat版本不同,用的jar版本也不同,具体可参考 http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

5、将serializers相关的jar添加到web应用中

  这里使用 kryo-serializer实现序列化。

  项目使用了maven,直接添加依赖即可

<dependency>
    <groupId>de.javakaffee.msm</groupId>
    <artifactId>msm-kryo-serializer</artifactId>
    <version>1.8.0</version>
    <scope>runtime</scope>
</dependency>

  如果没有使用maven,自行添加以下的jar到项目中

msm-kryo-serializer-1.8.0.jar
kryo-serializers-0.11.jar
kryo-1.04.jar
asm-3.2.jar
reflectasm-1.01.jar
minlog-1.2.jar
jsr305-1.3.9.jar
annotations-1.3.9.jar

6、在tomcat中配置memcached-session-manager

  在tomcat的context.xml文件中加入以下内容(<Context></Context>标签中)。

  非粘性session配置,两台memcached服务器。

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="n1:luxh-02.com:11211,n2:luxh-03.com:11211"
    sticky="false"
    sessionBackupAsync="false"
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
    />

7、配置nginx

  1)nginx.conf文件中的http节点内容加入

 upstream luxh-01.com {
            server luxh-02.com:8080;
            server luxh-03.com:8080;
 }

  2)nginx.conf文件中的server节点内容加入

 location / {
            proxy_pass http://luxh-01.com;
            proxy_set_header X-Real-IP $remote_addr;
 }

8、把应用分别部署到tomcat服务器中。

  1)启动memcached服务

  2)启动tomcat

  3)启动nginx

9、直接访问http://luxh-01.com/webapp  (我部署的项目是通过webapp访问)

时间: 2024-10-22 15:41:37

nginx+tomcat+memcached-session-manager组成简单集群的相关文章

Nginx + tomcat + Memcached(session共享)

Nginx + tomcat + Memcached(session共享) 实验拓扑 nginx   实现负载 tomcat   实现web功能 memcached 实现会话共享 安装Nginx [[email protected] ~]# yum -y install pcre pcre-devel [[email protected] ~]# tar -zxvf nginx-1.0.5.tar.gz [[email protected] ~]# cd nginx-1.0.5 [[email 

tomcat + memcached session manager共享session

网上有很多关于通过MSM(memcached session manager)实现memcached共享session的文章,但是很多都是东拼西凑,误导别人.正巧最近有一个地方用到,特此总结一下. MSM支持tomcat6,tomcat7,tomcat8,MSM支持两种模式:sticky sessions(粘性session)和non-sticky sessions(非粘性session).我用到的是sticky session,所以以下都按照sticky session 来介绍.集群结构是2个

Nginx+Tomcat+Memcached集群Session共享

提供给大家整合实例: http://download.csdn.net/detail/zld1987/9577962 cookie是怎样工作的? 例如,我们创建了一个名字为login的Cookie来包含访问者的信息,创建Cookie时,服务器端的Header如下面所示,这里假设访问者的注册名是"Michael Jordan",同时还对所创建的Cookie的属性如path.domain.expires等进行了指定. Set-Cookie:login=Michael Jordan;path

【转】Nginx+Tomcat+Memcached集群Session共享

cookie是怎样工作的? 例 如,我们创建了一个名字为login的Cookie来包含访问者的信息,创建Cookie时,服务器端的Header如下面所示,这里假设访问者的注册名 是“Michael Jordan”,同时还对所创建的Cookie的属性如path.domain.expires等进行了指定. Set-Cookie:login=Michael Jordan;path=/;domain=msn.com; expires=Monday,01-Mar-99 00:00:01 GMT 上面这个H

Nginx+Tomcat+Memcached 实现集群部署时Session共享

一.简介 我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Session在服务端保存用户信息,如果浏览器不支持Cookie或者用户把Cookie禁掉了,Cookie就用不了,还有不同的浏览器采用不用方式保存Cookie,所以我们采用Session服务端来保存,上一节我们有介绍了Tomcat集群部署,怎么样集群的Tomcat对同个用户请求的都能获取保存在Session的用户信息,采用了Memcached管理Session,Memcached 是一

【电商】nginx+tomcat+memcached实现session共享集群

在分布式多tomcat web集群环境下,首先要解决的是session的共享问题,一般的实现思路有: (1) session复制:多tomcat之间进行session的同步,集群中的tomcat存储相同的session信息 (2) 共享session存储:将session集中存储在同一个地方,如redis/memcached,甚至DB.tomcat本身的内存中并不存储session (3) session粘性:其实session粘性并不是session共享的方案,而是多tomcat的集群方案,配

session服务器Nginx+Tomcat+Memcached集群Session共享

cookie是怎样工作的? 例如,我们创立了一个名字为login的Cookie来包含访问者的信息,创立Cookie时,服务器端的Header如下面所示,这里假设访问者的注册名是“Michael Jordan”,同时还对所创立的Cookie的属性如path.domain.expires等进行了指定. Set-Cookie:login=Michael Jordan;path=/;domain=msn.com; expires=Monday,01-Mar-99 00:00:01 GMT 下面这个Hea

tomcat session会话保持实验-之Nginx+tomcat+memcached

tomcat session会话保持实验-之Nginx+tomcat+memcached 实验要求 1.nginx+tomcat 负载均衡 2.memcached 会话保持 实验拓扑   ip网络规划 Nginxnode2:172.16.76.20 tomcatAnode3:172.16.76.30  memcached tomcatBnode4:172.16.76.40  memcached 基础配置   node2 [[email protected]~]# yum install ngin

搭建memcached session manager

搭建环境: Memcached-1:192.168.0.210 Memcached-2:192.168.0.211 Nginx+tomcat:192.168.0.212 Nginx+tomcat:192.168.0.227 一.下载libevent-2.0.21-stable.tar.gz和memcached-1.4.20.tar.gz 1.安装libevent 1 #wget https://github.com/downloads/libevent/libevent/libevent-2.0

nginx+tomcat+memcached共享session-id

一.节点信息                 192.168.1.133 nginx 192.168.211.133 | ---------------------------------- |                                        | tomcatA (211.40)                tomcatB(211.132) memcacheA(211.136)        memcachB(211.137) 配置好固定IP 关闭selinux