实验环境
Redis | 10.20.0.100 |
TomcatA | 10.20.0.70 |
TomcatB | 10.20.0.71 |
Nagix | 10.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测试成功