fairyguo 发表于 2018-11-5 11:30:48

Redis实现Tomcat Session共享方案

  实验环境
Redis 10.20.0.100TomcatA10.20.0.70TomcatB10.20.0.71Nagix10.20.0.75  首选列出所需要的软件
  Redis
  redis-3.0.5.tar.gz
  Tomcat软件版本
  apache-tomcat-7.0.56.tar.gzjdk-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>  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 Apr82015 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

  
    host="10.20.0.100"
  port="6379"
  database="0"
  maxInactiveInterval="60" />
  tomcat配置完成
  然后配置Nginx
  cat /application/nginx/conf/nginx.conf
  worker_processes1;
  events {
  worker_connections1024;
  }
  http {
  include       mime.types;
  default_typeapplication/octet-stream;
  sendfile      on;
  keepalive_timeout65;
  upstream www {
  server 10.20.0.70:8080;
  server 10.20.0.71:8080;
  }
  server {
  listen       80;
  server_namelocalhost;
  location / {
  root   html;
  indexindex.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 复制下面的内容进去!
  
  SessionID:
  
  SessionIP:
  
  SessionPort:
  
  然后进去ID测试
  1,首选访问nginx代理 默认使用轮询,

  2,关闭TomcatA 看访问session>
  3,关闭TomcatB 启动TomcatA 看访问session>  测试结果:
  session 不变 证明我们session测试成功

页: [1]
查看完整版本: Redis实现Tomcat Session共享方案