tomcat-session server实现

要求:tomcat cluster将会话保存至memcached

1、利用nginx反代

2、两台tomcat服务器

3、两台memcache服务器

拓扑:

   tomcat-session server实现 

架构前配置:

     1、反代服务器:nginx

          外网地址:172.16.250.201 内外那个地址:192.168.109.119

     2tomcat1主机:192.168.109.116

     3tomcat2主机:192.168.109.117

     4memcache1主机:192.168.109.101

     5memcache2主机:192.168.109.113

一、配置memcache服务器

分别在两台主机上安装memcached服务

  yum install -y memcached

启动服务:

  systemctl start memcached

tomcat-session server实现
  可以看到端口11211开启

二、配置tomcat主机

    1、配置tomcat1主机

     1)安装所需要的包组件

         yum install java-1.8.0-openjdk tomcat tomcat-webapps tomcat-admin-webapps tomcat-docs-webapp

     2)配置测试页

     tomcat默认根路径下创建一个/var/lib/tomcat/webapps/test2目录

     test2目录下创建tomcat所需要的文件:WEB-INF,classes,lib,index.jsp

     为主页文件添加测试内容

       tomcat-session server实现 

     3下载如下jar文件至各tomcat节点的/usr/share/java/tomcat/目录下

        memcached-session-manager-2.1.1.jar

       memcached-session-manager-tc7-2.1.1.jar(注意:要根据tomcat版本下载相应的)

       spymemcached-2.11.1.jar

       msm-javolution-serializer-2.1.1.jar

       javolution-5.4.3.1.jar

        tomcat-session server实现     

     4)在tomcat1主机上的某host上定义一个用于测试的context容器,并在其中创建一个会话管理器

        vim /etc/tomcat/server.xml

       tomcat-session server实现   

     5)启动服务

       tomcat-session server实现

2tomcat2的配置与tomcat1一致,只需修改一下测试页,以便测试方便

   vim /var/lib/tomcat/webapps/test/index.jsp

     tomcat-session server实现

三、配置nginx服务器

    1、安装nginx

      yum install nginx-server

    2、修改主配置文件/etc/nginx/nginx.conf

      添加后端tomcat主机组

      tomcat-session server实现

  3、定义一个server

   vim /etc/nginx/conf.d/tomcat.conf

     tomcat-session server实现

   4、启动服务

     systemctl start nginx.service

四、测试

使用URLhttp://www.zq.com/test2测试

   tomcat-session server实现

   tomcat-session server实现

可以看到Session ID一致没有改变,表明:tomcat cluster将会话保存至memcached

 

 

 

 

 

 

  

   

原创文章,作者:zq,如若转载,请注明出处:http://www.178linux.com/79351

(0)
zqzq
上一篇 2017-07-03
下一篇 2017-07-03

相关推荐

  • 计算机编程简史图

       这个图片太经典了,本来想翻译的,后来觉得这么经典的图片可能早已被人翻译了,简单的Google一下,果然有人翻译了。那我就把英文版和中文版都转过来吧。我们可以看到,其中很大一部分人都和Unix有着不解之缘(参见《Unix传奇上篇,Unix传奇下篇》) 英文原版 中文翻译版 什么也不说了,直接上图(图片比较大,单击图片看大图) 计算机编…

    Linux干货 2015-04-02
  • Linux任务计划命令及应用

    at命令,crontab命令

    2018-03-12
  • history命令详解,铭记历史,圆梦中华。

        铭记历史,圆梦中华。在Linux操作系统中,对于管理员操作的命令进行查询也是非常重要,而且熟练掌握调用命令历史能提高管理员管理系统的效率。     history的命令缓存数目是由一个在/etc/profile文件名为HISTSIZE的变量决定,可以通过env命令查看当前设定的数目,也可以通…

    Linux干货 2016-07-26
  • N22期-第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 [root@localhost ~]# chmod&nb…

    Linux干货 2016-09-05
  • Mysql 多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:  SELECT * FROM table1 CROSS JOIN table2  &nb…

    Linux干货 2015-04-13
  • 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)

    1.概述 在面向对象的软件设计与开发过程中,根据“单一职责原则”,我们应该尽量将对象细化,使其只负责或呈现单一的职责,即将行为分布到各个对象中。 对于一个模块或者系统,可能由很多对象构成,而且这些对象之间可能存在相互的引用,在最坏的情况下,每一个对象都知道其他所有的对象,这无疑复杂化了对象之间的联系。虽然将一个系统分割成许多对象通常可以增强可复用性,但是对象…

    Linux干货 2015-07-20