一:系统环境
操作系统: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接口