Nginx常用集群以及解决TomcatSession问题

来源:互联网 发布:硬盘修复软件 编辑:程序博客网 时间:2024/06/03 19:19

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

 重新加载nginx  service nginx reload

  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"        />