首页 > 其他 > 详细

tomcat、redis session共存配置

时间:2017-02-17 01:06:22      阅读:341      评论:0      收藏:0      [点我收藏+]


1、首先安装jdk再安装Tomcat(jdk1.70 Tomcat7.0.40)

名称      IP              端口 tomcat JDK

tomcat1 10.7.0.193 8080 7.0.40 1.7.0_25

tomcat2 10.7.0.192 8080 7.0.40 1.7.0_25


[root@node1 java]# tar -zxf jdk-7u111-linux-x64.tar.gz -C /usr/local/java/

[root@node1 java]# vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_111
export JRE_HOME=/usr/local/java/jdk1.8.0_111/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH


[root@node1 java]# source /etc/profile


然后可以看到Java命令了

[root@node1 java]# java -version



2、安装Tomcat

[root@node1 java]# tar -zxf apache-tomcat-7.0.73.tar.gz -C /usr/local/

[root@node1 java]# cd /usr/local

[root@node1 java]# ln -sv apache-tomcat-7.0.73/ tomcat

[root@node1 java]# ls bin/

bootstrap.jar       commons-daemon-native.tar.gz    digest.sh         startup.battool-wrapper.s  catalina.bat           configtest.bat             setclasspath.bat        startup.sh            version.bat

catalina.sh            configtest.sh                               setclasspath.sh         tomcat-juli.jar         version.sh


#里面全部是一些.sh的脚本和.jar的Java归档文件;Tomcat就是 用Java写的所以启动时会调用一些Java库,.bat为Windows的批处理脚本,用于windows启动时调用,其中catalina.sh为核心脚本


ls conf/

Catalina         catalina.properties  logging.properties  tomcat-users.xml

catalina.policy    context.xml          server.xml          web.xml

#其中server.xml为主配置文件;

#tomcat-users.xml为用户认证文件,Tomcat启动后会将这个文件读进内存中完成账号和密码的检测认证,所以这个文件的安全性很重要;#web.xml为Tomcat默认的应用程序部署描述符,一个web应用程序所谓的部署就是将它放在Tomcat某一个context某一个host能够访问到的路  径下,及将web应用程序所依赖的类装载进JVM的过程;

#context.html默认为上下文提供的配置文件

#catalina.pro[erties 用来定义应用程序自身属性的(启动JVM要定义许多属性),如所使用的内存大小,所使用的字符串缓冲池的大小,你的server loader加载器是什么,等等

#Catalina.policy用来定义Tomcat自身的安全和资源授权策略,如定义通过互联网访问时,哪些资源用户可以访问哪些资源用户不能访问;哪些资源能被装载,哪些资源不能被装载等等

#logging.pro[erties 用来定义你的日志级别,日志文件的路径等等


一般来说如果你不定义服务器自身的属性的话,只需修改.xml的文件


为Tomcat提供init脚本


[root@node1 java]# vim /etc/rc.d/init.d/tomcat


#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
export JAVA_OPTS=‘-Xms64m -Xmx128m‘ #定义启动时堆内存最小64M,最大128M
JAVA_HOME=/usr/local/java/jdk1.8.0_111 #Java的路径
CATALINA_HOME=/usr/local/apache-tomcat-7.0.73 #Tomcat的路径
export JAVA_HOME CATALINA_HOME #将Java和tomcat的路径输出为环境变量
exec $CATALINA_HOME/bin/catalina.sh $* #执行这个脚本




[root@node1 java]# service tomcat stop 

[root@node1 java]# service tomcat start 


3、安装redis、Nginx

Nginx安装


[root@localhost]tar zxvf nginx-1.8.0.tar.gz

[root@localhost] cd nginx-1.8.0

[root@localhost]  ./configure && make && make install

[root@localhost]/usr/local/nginx/nginx 

redis安装


[root@localhost]tar -zxvf redis-3.0.3.tar.gz

[root@localhost]make

[root@localhost]mkdir -p /usr/local/redis/bin

[root@localhost]mkdir -p /usr/local/redis/etc

[root@localhost]mkdir -p /usr/local/redis/var

[root@localhost]cp redis-benchmark  redis-check-aof redis-cli redis-server redis-check-dump  /usr/local/redis/bin/

[root@localhost]cp ../redis.conf  /usr/local/redis/etc/

#修改配置文件,一般需要把daemonize no  改为 daemonize yes其他的看需要修改。

 [root@localhost]/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

#测试 /usr/local/redis/bin/redis-cli 

    redis> set name asd123

    OK 

    redis> get name  

    "asd123"  

成功


4、配置session共存

修改nginx.conf加上:

 

 upstream backend {
        server 10.7.0.193:8080 max_fails=1 fail_timeout=10s;
        server 10.7.0.192:8080 max_fails=1 fail_timeout=10s;
    }


修改nginx.conf的location成

 

  location / {
        root   html;
        index  index.html index.htm;
        proxy_pass http://backend;
     }


重启Nginx

下载tomcat-redis-session-manager相应的jar包,主要有三个:(官网可能有问题需再下载tomcat-juli-adapters.jar和tomcat-juli.jar两个包,可以使用http://download.csdn.net/detail/qinxcb/8279761下的tomcat-redis-session-manager.jar)

wget https://github.com/downloads/jcoleman/tomcat-redis-session-manager/tomcat-redis-session-manager-1.2-tomcat-7-Java-7.jar
wget http://central.maven.org/maven2/redis/clients/jedis/2.5.2/jedis-2.5.2.jar
wget http://central.maven.org/maven2/org/apache/commons/commons-pool2/2.0/commons-pool2-2.0.jar



修改两tomcat的context.xml:

<Context>
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
  <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
  <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
   host="10.7.0.194"
   port="6379"
   database="0"
   maxInactiveInterval="60" />
</Context>




在tomcat/webapps/test放一个index.jsp

<%@ page language="java" %>
<html>
  <head><title>TomcatA</title></head>
  <body>
 
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>
sessionID:<%=session.getId()%> 
<br> 
SessionIP:<%=request.getServerName()%> 
<br> 
SessionPort:<%=request.getServerPort()%> 
<% 
//为了区分,第二个可以是222
out.println("This is Tomcat Server 1111"); 
%>




通过访问http://10.7.0.194/test/


Session ID4D948D3222B49F03A6696FF2550B4764

Created on1487208175588

sessionID:4D948D3222B49F03A6696FF2550B4764 

SessionIP:backend 

SessionPort:80 This is Tomcat Server 2222


Session ID4D948D3222B49F03A6696FF2550B4764

Created on1487208175588

sessionID:4D948D3222B49F03A6696FF2550B4764 

SessionIP:backend 

SessionPort:80 This is Tomcat Server 1111


可以看到虽然Server从1111变为2222,但session的创建时间没有变化,这就完成了session共享。


tomcat、redis session共存配置

原文:http://neji1983.blog.51cto.com/3330124/1898349

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!