实验环境

Redis 10.20.0.100
TomcatA10.20.0.70
TomcatB10.20.0.71
Nagix10.20.0.75


首选列出所需要的软件

Redis

redis-3.0.5.tar.gz

Tomcat软件版本

apache-tomcat-7.0.56.tar.gz  jdk-7u71-linux-x64_.gz

tomcat版本都使用的是7.0以上的   tomcat8.0以上的版本软件还没有测试过

Naginx软件版本

nginx-1.8.0.tar.gz


安装Session所需要的依赖包

commons-pool2-2.0.jar

jedis-2.5.2.jar

tomcat-redis-session-manager1.2.jar


安装服务

redis安装省略,网上很多安装文档


tomcat安装

TomcatA和TomcatB安装是一样的

安装步骤:

jdk-7u71-linux-x64_.gz

tar zxvf jdk-8u51-linux-x64.tar.gz   -C /usr/local/

ln -s /usr/local/jdk1.7.0_71 /usr/local/jdk

ln -s /usr/local/jdk1.7.0_71/jre /usr/local/jre


编辑变量

vi /etc/profile

加入以下几行

export JAVA_HOME=/usr/local/jdk

export CLASSPATH=$JAVA_HOME/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export CATALINA_HOME=/usr/local/tomcat


保存退出。

source /etc/profile

java -version 查看jdk是否安装成功


tomcat安装

apache-tomcat-7.0.56.tar.gz

tar zxvf apache-tomcat-7.0.56.tar.gz

cp -r apache-tomcat-7.0.56 /usr/local/tomcat

/usr/local/tomcat/bin/startup.sh


检测访问URL http://localhost:8080


安装Nginx

安装Nginx依赖包

HTTP rewrite module requires thepcre library

 

yum install pcre pcre-devel

 

SSL modules require on the Openssl library

 

yum -y install openssl-devel -y

 

yum -y install gcc pcre pcre-devel gcc opensslopenssl-devel gd gd-devel perl perl-ExtUtils-Embed


useraddnginx -s /sbin/nologin -M

 

mkdir/home/tools

 

wget-q http://nginx.org/download/nginx-1.8.0.tar.gz

 

ls nginx-1.8.0.tar.gz 

-rw-r--r--.1 root root 787K Apr  8  2015 nginx-1.6.3.tar.gz

 

tar zxf nginx-1.8.0.tar.gz

cd nginx-1.8.0

 

./configure --prefix=/application/nginx-1.8.0 --user=nginx --group=nginx--with-http_ssl_module --with-http_stub_status_module

 

make


make install


ln -s /application/nginx-1.6.3/ /application/nginx


启动Nginx

/application/nginx/sbin/nginx


查看端口是否启动成功

lsof -i:80


配置tomcat依赖包(TomcatA TomcatB都需要配置)

把打包好的

commons-pool2-2.0.jar

jedis-2.5.2.jar

tomcat-redis-session-manager1.2.jar

移到/usr/lcoal/tomcat/lib 下面

mv commons-pool2-2.0.jar jedis-2.5.2.jar tomcat-redis-session-manager1.2.jar /usr/lcoal/tomcat/lib


然后更改连接Redis的配置 在tomcat服务器配置(TomcatA TomcatB都需要配置)

vim 

/usr/local/tomcat/conf/context.xml 


<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  

    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  

         host="10.20.0.100"  

         port="6379"  

         database="0"  

         maxInactiveInterval="60" />  


tomcat配置完成


然后配置Nginx

cat /application/nginx/conf/nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

upstream www {

        server 10.20.0.70:8080;

        server 10.20.0.71:8080;

              }


    server {

        listen       80;

        server_name  localhost;

        location / {

            root   html;

            index  index.html index.htm;

            proxy_pass http://www;      

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}


配置完成之后 按照顺序启动

redis-tomcat-nginx


准备测试

测试页面,在tomcat根目录,写一个test.jsp 复制下面的内容进去!

<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false"%>

SessionID:<%=session.getId()%> 

<BR> 

SessionIP:<%=request.getServerName()%> 

<BR> 

SessionPort:<%=request.getServerPort()%> 

<% 

out.println("This is Tomcat Server 1111111"); 

%>

然后进去ID测试

1,首选访问nginx代理 默认使用轮询,

2,关闭TomcatA 看访问session ID是否有变化

3,关闭TomcatB 启动TomcatA 看访问session ID是否有变化


测试结果:

session 不变 证明我们session测试成功