1. 软件配置
配置负载均衡使用nginx的代理模块
具体参考 tengine官网配置(http://tengine.taobao.org/document_cn/http_upstream_check_cn.html)
找到 nginx/conf/nginx.conf 配置
http {
upstream mytomcat{
# 配置后端tomcat服务器的ip和端口
server 192.168.58.133:8888;
server 192.168.58.132:8888;
#interval检测后端服务器的时间3000
#rise=2表示连续两次连接后端服务器表示存活
#fall=5表示连续5次连接后端服务器失败表示后端tomcat挂了
#timeout=1000 表示连接超时时间
check interval=3000 rise=2 fall=5 timeout=1000 type=http;
#发送一个HEAD请求
check_http_send "HEAD / HTTP/1.0\r\n\r\n";
#返回 2和3开头的响应码表示成功
check_http_expect_alive http_2xx http_3xx;
}
server {
listen 80;
location / {
proxy_pass http://cluster1;
}
#开始状态监控 网页服务器
location /status {
check_status;
}
}
}
检测代码配置 /usr/local/nginx/sbin/nginx -t
maven地址(自行到maven.aliyun.com/nexus搜索memcached-session-manager-tcX X为6或者7后者8是tomcat版本 我这里用tomcat6 )
二.配置memcached解决Session
将该jar包拷贝到 132的tomcat/lib目录下
修改tomcat/conf/server.xml
<Engine name="Catalina" defaultHost="localhost">
修改为 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat132"> 用于在产生session是加上后缀
133的配置加上jvmRoute="tomcat133" 即可
打开132和133 conf/context.xml
分别在Context节点下添加
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.58.132:11211"#memcache的地址跟端口
sticky="false"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>