设为首页 收藏本站
查看: 1195|回复: 1

[经验分享] Nginx+Tomcat+Memcached实现tomcat集群和session共享

[复制链接]

尚未签到

发表于 2015-7-26 14:12:31 | 显示全部楼层 |阅读模式
  一、Nginx安装
    详见前文:http://www.iyunv.com/yixiwenwen/p/3574097.html
  二、memcached安装和启动
    详见前文:http://www.iyunv.com/yixiwenwen/p/3574137.html
  
  
  三、配置Nginx实现Tomcat的负载均衡和利用memcached实现session共享
  1. 修改nginx的配置文件nginx.conf



user  nobody;
worker_processes  4;
error_log  logs/error.log;
events {
worker_connections  1024;
}

http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
keepalive_timeout  65;
gzip  on;
upstream  www.yixi.com   {
server   192.168.137.46:100;
server   192.168.137.46:101;
        server  192.168.137.46:102;
        
}
server {
listen       80;
server_name  www.yixi.com;
charset utf-8;
location / {
root   html;
index  index.html index.htm;
proxy_pass        http://www.yixi.com;
proxy_set_header  X-Real-IP  $remote_addr;
client_max_body_size  100m;
}

location ~ ^/(WEB-INF)/ {
deny all;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}

}
}

  2. Tomcat配置
  下载并解压三个tomcat7;
  下载相应的jar包到所有的tomcat的lib目录下:
  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共享
[iyunv@localhost lib]# vi /usr/local/tomcat/conf/context.xml
在配置文件中的标签里面加入如下内容:





  为了测试在tomcat默认的webroot下的index.jsp中加入这些代码:



SessionID:

SessionIP:

SessionPort:


  
  (备注:当要同时启动多个tomcat时需要修改一些配置
    a.修改/etc目录下的profile文件:  



export CATALINA_HOME_test_1=/usr/local/tomcat_test/apache-tomcat-7-1
export CATALINA_HOME_test_2=/usr/local/tomcat_test/apache-tomcat-7-2
export CATALINA_HOME_test_3=/usr/local/tomcat_test/apache-tomcat-7-3
  b. 修改bin下的startup.sh和shutdown.sh
    添加 export CATALINA_HOME=$CATALINA_2_HOME  利用profile中第二组设置
  )
  4.测试结果:
  分别启动nginx memcached tomcat
  将host的文件中映射www.yixi.com到自己的ip;
  在浏览器中访问www.yixi.com
DSC0000.png
  访问的的是tomcat3 此时sessionID是:598EA38832CA14F8F14AC3EF0276AD3D-n1
  刷新几次发现访问的还是tomcat3,
  为了测试 先杀死tomcat3的进程!
   DSC0001.jpg
  
  再刷新...
DSC0002.jpg
  发现当tomcat3挂掉之后 请求就到了tomcat1 并且我们希望的sessionId还是598EA38832CA14F8F14AC3EF0276AD3D-n1
  再把tomcat1挂掉试试:
  测试结果:
DSC0003.png
  只剩下tomcat2还能用 而且sessionId是共享的。
  这样整个配置和测试就完成了
  
  
  附件:
  tomcat部分:http://download.iyunv.com/detail/yixiwenwen/6986845
  nginx.conf :http://download.iyunv.com/detail/yixiwenwen/6986719

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-90857-1-1.html 上篇帖子: CentOS 5.4下的Memcache安装(Linux+Nginx+PHP+Memcached) 下篇帖子: Windows 下 Nginx 管理脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表