一、Nginx安装
详见前文:http://www.cnblogs.com/yixiwenwen/p/3574097.html
二、memcached安装和启动
详见前文:http://www.cnblogs.com/yixiwenwen/p/3574137.html
三、配置Nginx实现tomcat服务的负载均衡,利用memcached服务实现session共享
1.修改nginx的配置文件nginx.conf,路径:%NGINX_HOME%/nginx/conf/nginx.conf
....
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
upstream web.test.com {
server 192.168.1.183:8081;
server 192.168.1.183:8082;
server 192.168.1.183:8084;
}
server {
listen 81;
server_name web.test.com;
#server_name localhost;
charset utf-8;
location / {
root html;
index index.html index.htm;
proxy_pass http://web.test.com;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2.配置tomcat,下载所需的jar包并放入到每个tomcat的lib文件夹下,文件列表如下,具体jar包见附件:
couchbase-client-1.2.2.jar
javolution-5.4.3.1.jar
memcached-session-manager-1.6.4.jar
memcached-session-manager-tc7-1.6.4.jar
msm-javolution-serializer-1.6.4.jar
msm-kryo-serializer-1.6.4.jar
msm-xstream-serializer-1.6.4.jar
spymemcached-2.10.2.jar
修改tomcat配置文件,让tomcat结合memcached实现session共享,在%TOMCAT_HOME%/conf/context.xml配置文件中增加如下配置:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
<span style="white-space:pre"> </span> memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
<span style="white-space:pre"> </span> copyCollectionsForSerialization="false" />
在tomcat的root文件夹中的index.jsp中加入如下配置,以方便测试session共享,注意:需将index.jsp文件中的<%@ page session="true" %>改为true:
SessionID:<%=session.getId()%>
<br>
SessionIP:<%=request.getServerName()%>
<br>
SessionPort:<%=request.getServerPort()%>
<%out.println("This is Tomcat Server 111111!");%>
<br>
4.测试结果
在自己电脑本地的host文件中加入ip映射,可以直接访问web.test.com进行测试,如果nginx使用的是默认端口的话,不需要输入端口号,如果不是的话需要加上端口号,例如我的配置:web.test.com:81。
当再次刷新时:
发现sessionID没有变化,但是已经切换到另一台服务器下了。可以将一个tomcat服务关掉,然后再测试,同样可以实现session共享。至此session共享配置完成。
资源下载地址:http://download.csdn.net/detail/zz87250976/9490573