nginx+tomcat+memcached共享session-id

一.节点信息

              192.168.1.133

                   nginx

                192.168.211.133

                    |

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

         |                      |

      tomcatA (211.40)           tomcatB(211.132)

      memcacheA(211.136)         memcachB(211.137)

配置好固定IP

关闭selinux

关闭iptables,开机不启动

二.原理

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

三.部署

tomcat服务的安装

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

安装包下载:http://pan.baidu.com/s/1skqesVF     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经常报很多错误

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

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


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

  • 定义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

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

  安装包下载:http://pan.baidu.com/s/1boizwy7     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是否出现测试页面 

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


memcached服务的安装

a.安装开发工具

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

b.安装memcached软件

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

安装包下载:libevent:http://pan.baidu.com/s/1o6TPQiA     lwyu

        memcached:http://pan.baidu.com/s/1i3LS6m5    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

 选项:

-h  查看帮助信息

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

-l   memcached服务器的ip地址

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

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

-c   memcached服务的最大链接数

-vvv  显示详细信息

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

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

-d  在后台启动

  • netstat  -utnlap | grep :11211

知识点:

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

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

killall -9  memcached  杀死所有memcached 进程

  • 测试memcached:

          [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


tomcat与memcached连接工具memcached+session+manager

安装包下载:http://pan.baidu.com/s/1YYfiY     u9dl

a.解压安装包

b.安装与配置

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

  • cd session

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

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

          vi 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>

  • 重新启动tomcat服务

nginx服务的安装

a.安装开发环境

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

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

b.安装nginx服务

安装包下载:http://pan.baidu.com/s/1c1nhg2G     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

  • 修改配置文件(原始文件最好备份下)

        

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 -t

  • ./nginx


测试

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

测试页下载http://pan.baidu.com/s/1bjNxTG     9br2

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












本文出自 “tidypet” 博客,转载请与作者联系!

你可能感兴趣的:(tomcat,memcahced,session-id)