nginx+tomcat+memcached 服务器负载均衡配置 备忘
如何安装nginx、tomcat6
?
memcached的安装请参考 http://wudx.iteye.com/blog/1165260
?
memcached-session-manager配置
?
让tomcat调用memcached来存储session早就是一个很成熟的解决方案了,开源的msm就可以解决这个问题。比较折腾的就是要用到的jar包,官方文档说的也比较含糊,我这里用的是kryo的序列化方案,所以用到的包多一些,分别是:
kryo-1.03.jar
kryo-serializers-0.8.jar?
memcached-2.5.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc6-1.5.1.jar
minlog-1.2.jar
msm-kryo-serializer-1.5.1.jar
reflectasm-0.9.jar
?
本文所需jar包提供下载!
?
以上这些包都放在$CATALINA_HOME/lib目录下。
?
另外提一下,官方给出的4种序列化方案,其中kryo是效率最高的,具体比较看http://code.google.com/p/memcached-session-manager/wiki/SerializationStrategies
?
?
修改tomcat的配置文件$CATALINA_HOME/conf/context.xml,调整成新的session存储方式。配置文件中加入以下内容:
? ? <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"?
? ? ? memcachedNodes="n1:127.0.0.1:11211"
? ? ? sticky="false"
? ? ? lockingMode="auto"
? ? ? sessionBackupAsync="false"
? ? ? sessionBackupTimeout="1000" ?
? ? ? transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"?
? ? ? />?
?
在$CATALINA_HOME/conf/logging.properties文件中添加de.javakaffee.web.msm.level=FINE,就可以在catalina.out的日志中看到详细的session存取情况。
?