您的位置:首页 > 博客中心 > 网络系统 >

nginx+tomcat+memcached共享session-id

时间:2022-04-03 11:22

一.节点信息

1.节点配置固定ip

2.关闭selinux、iptables,并且设置开机不启动

3.节点拓扑:

选项

节点拓扑


                  192.168.1.133

                           nginx

                  192.168.211.133

                               |

         ------------------------------------

         |                                                 |

      tomcatA (211.40)                   tomcatB(211.132)

      memcacheA(211.136)           memcachB(211.137)

二.原理

通过nginx代理访问后端tomcat,并实现memcache的会话绑定,同一个浏览器访问的session是一样的.

三.部署

1.tomcat服务的安装

a.安装开发环境  jdk-6u27-linux-i586.bin(32位)

安装包下载:     nm9q

选项


操作步骤

  • chmod +x  jdk-6u27-linux-i586.bin  

  • ./jdk-6u27-linux-i586.bin

For more information on what data Registration collects and

how it is managed and used, see:

http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html


Press Enter to continue…..



Done.


注意:出现上面的信息安装完成,安装jdk经常报很多错误

  • mv jdk1.6.0_27 /etc/usr/local/jdk

b.定义tomcat服务运行时使用的变量

选项


操作步骤

  • [root@localhost ~]# vi  /etc/bashrc

           export   JRE_HOME=/usr/local/jdk

           export   JAVA_BIN=/usr/local/jdk/bin

           export PATH=$JRE_HOME/bin:$PATH

           export  CLASSPATH=.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar

           export  JRE_HOME  JAVA_BIN  PATH   CLASSPATH

  • :wq


  •  [root@localhost ~]# source /etc/bashrc

安装开发环境时报错:  

     /lib/ld-linux.so.2: bad ELF interpreter 说明 64位系统中安装了32位程序了

    解决方法:yum -y install  glibc.i686(建议用CentOS 自带的yum源,可以安装上)

c.安装tomat软件包 apache-tomcat-6.0.32.tar.gz

 安装包下载:     2gwu

选项


操作步骤

  • tar -zxvf apache-tomcat-6.0.32.tar.gz

  • mv apache-tomcat-6.0.32  /usr/local/tomcat

  • netstat -unlatp |grep :8080

  • cd /usr/local/tomcat/bin

  •  ./startup.sh

  •  netstat -unlatp |grep :8080

          tcp        0      0 :::8080                     :::*                        LISTEN      1879/java

测试

ip:8080是否出现tomcat测试页面 

同理:第二台机器同上设置,注意IP


2.memcached服务的安装

a.安装开发工具

选项


操作步骤

  • yum -y install gcc make  gcc-c++


b.安装memcached软件

注意:安装memcached软件之前必须安装libevent-2.0.15-stable.tat.gz

安装包下载:libevent:             lwyu

                      memcached:     8e52

选项


操作步骤

  • tar -zxvf libevent-2.0.15-stable.tar.gz

          cd libevent-2.0.15-stable

          ./configure   &&   make    &&   make install

  • tar -zxvf  memcached-1.4.5.tar.gz

          cd memcached-1.4.5

          ./configure   &&   make    &&   make install

  • vim   /etc/ld.so.conf.d/libevent.conf

          /usr/local/lib/

          :wq

          ldconfig   -v

  • /usr/local/bin/memcached  -u  root  -m 100M  -n  10  -f  2  -d  -vvv

  • netstat  -utnlap | grep :11211

测试

 [root@localhost ~]# telnet  localhost   11211

          Trying 192.168.1.10...

          Connected to 192.168.1.10 (192.168.1.10).

          Escape character is ‘^]‘.

          set name  0 180 3   //0 固定格式  180 180秒   3 3个字节

          jim

          STORED

         get name

         VALUE name 0 3

         jim

        END

        quit

        Connection closed by foreign host.

同理:第二台机器同上配置,注意IP


知识点:

memcached  

         选项:

-h  查看帮助信息

-p  指定memcached监听的端口号  默认11211

-l   memcached服务器的ip地址

-u  memcached程序运行时使用的用户身份 必须 是root用户

-m  指定使用本机的多少物理内存 存数据  默认64M

-c   memcached服务的最大链接数

-vvv  显示详细信息

-n  chunk size 的最小空间是多少 单位 字节

-f   chunk size大小增长的倍数 默认 1.25倍

-d  在后台启动



kill -9 PID号                杀死memcached进程(进程号)

pkill -9 memcached    杀死memcached进程(进程名)

killall -9  memcached  杀死所有memcached 进程

3.tomcat与memcached连接工具msm

安装包下载:     u9dl

a.解压安装包

b.安装与配置

在两台tomcat服务器上安装与配置如下:

选项


操作步骤

  • cd session

  • cp   *.jar    /usr/local/tomcat/lib/

  • cd /usr/local/tomcat/conf/         //配置tomcat配置文件,连接指定的memcached服务器

  • 修改配置文件vi /usr/local/tomcat/conf/contest.conf

配置文件

  • vi /usr/local/tomcat/conf/contest.conf

<Context>

    ......

    ......

         <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

          memcachedNodes="n1:192.168.211.142:11211 n2:192.168.211.143:11211"

          failoverNodes="n2"

          requestUrilgnorePattern=".*\(ico|png|gif|jpg|css|js)$"

          transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

          />

      </Context>

  • :wq

  • 重新启动tomcat服务

4.nginx服务的安装

a.安装开发环境

选项


操作步骤

  • yum -y install gcc make  gcc-c++

  • yum -y install  pcre pcre-devel openssl openssl-devel    

b.安装nginx服务

安装包下载:     5qpn

选项


操作步骤

  • useradd nginx

  • tar -zxvf nginx-1.0.5.tar.gz

  • cd nginx-1.0.5

  • ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module

  • make && make install

  • cd /usr/local/nginx/conf

  • 修改配置文件vi /usr/local/nginx/conf/nginx.conf

测试

1.安装完成后启动服务测试

2.配置完成后启动服务测试

  •  测试配置文件是否正确 ./nginx -t

  • ./nginx

配置文件

  • vi /usr/local/nginx/conf/nginx.conf

http {

           

            upstream  tomcatgrp {

            server  192.168.1.10:8080;

            server  192.168.1.20:8080;


             }

       server  {

              ...

              ...

              location / {

                  root   html;

                  index  index.html index.htm;

                  proxy_pass  http://tomcatgrp;


         }

    …

    ...

         }

}

  • :wq

  • 重启nginx服务

 

5.环境测试

通过输入nginx网址,查看网页颜色是否改变,session是否不变

测试页下载     9br2

测试也放到cd /usr/local/tomcat/webapps/ROOT/目录下,两台tomcat测试也要改,每个tomcat颜色不一样就可以













本文出自 “” 博客,请务必保留此出处

热门排行

今日推荐

热门手游