Nginx + Tomcat 7 + Memcached 集群配置

一:系统环境

操作系统:Ubuntu 13.10 x64

Tomcat :apache-tomcat-7.0.52

JDK : 1.7.0_51

Nginx:nginx/1.7.1

Memcached:1.4.20


二:部署环境

Nginx代理服务器

192.168.1.200 安装路径:/usr/local/nginx

安装步骤:http://blog.csdn.net/mn960mn/article/details/29353827

Memcached

192.168.1.200 安装路径:/usr/local/memcached

 

Tomcat1

192.168.1.200 安装路径:/opt/apache-tomcat-7.0.52

 

Tomcat2

192.168.1.201 安装路径:/opt/apache-tomcat-7.0.52

 

Tomcat2

192.168.1.202 安装路径:/opt/apache-tomcat-7.0.52

192.168.1.200

192.168.1.201

192.168.1.202

三个linux上,均需要在/etc/hosts文件中,增加如下内容:

192.168.1.200       tomcat

192.168.1.201       cluster1     

192.168.1.202       cluster2

 

三:配置

1:nginx.conf

   添加:

   upstream tomcat_cluster {

        server tomcat:8080;

        server cluster1:8080;

        server cluster2:8080;

}

 

在 server { 里面添加

location /cloudos {

      proxy_pass http://tomcat_cluster;

 }

 

2:

(1)    创建目录/src

(2)    把项目放入/src目录,我这里的项目是:cloudos

(3)    配置Tomcat,配置server.xml文件,添加如下内容:

<Context path="/cloudos"docBase="/src/cloudos">

                <ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"    

                 memcachedNodes="n1:tomcat:11211"

                 sticky="false"

                sessionBackupAsync="false"

                lockingMode="uriPattern:/path1|/path2"

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

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

       </Context>

 

(4)    把下面的jar放到Tomcat的lib目录下

         asm-3.2.jar

         reflectasm-1.01.jar

         minlog-1.2.jar

         kryo-1.04.jar

         kryo-serializers-0.11.jar

         memcached-session-manager-tc7-1.8.1.jar

         memcached-session-manager-1.8.1.jar

         msm-kryo-serializer-1.8.1.jar

         spymemcached-2.10.2.jar

         注意:三个Tomcat均要这样配置

         这里的配置及jar下载地址,请参照:

         https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

 

 

五:启动服务

首先启动memcached,然后依次启动3个tomcat,最后再启动nginx

 

六:注意事项

1:放入session的所有对象,必须实现java.io.Serializable接口

 

你可能感兴趣的:(Nginx + Tomcat 7 + Memcached 集群配置)