• Tomcat7.0.99集群使用Redis共享session方案


    以前配置过给予多播的session共享方案,这回再配置一个redis共享session的。

    先小小的炫耀一下:

    相信大家要做Tomcat+Redis+session配置,遇到的头号麻烦就是编译的tomcat-redis-session-manager,真是苦了我们这群伸手党,作者James Coleman同学帮人也不帮到底,直接提供三个jar下载不好吗?

    我本着助人为乐的精神,借花献佛,提供三个jar下载地址:https://files.cnblogs.com/files/xiandedanteng/tomcat7-redis-session-manager.rar ,而我是从 http://pan.baidu.com/s/1qWXgNTy 下载的,在此向作者表示敬意;美中不足是 ,这位作者提供另一个的https://jingyan.baidu.com/article/ac6a9a5e10415f2b653eace8.html 最底下的http://pan.baidu.com/s/1dELCFVb 中,对apache-tomcat-8.5.50是不好用的,三个jar放进去,设定context.xml,一启动tomcat8就报异常,然后tomcat都起不来,真是遗憾(发现作者的jar是对tomcat8.0版本的,并不适合8.5.50版本。2020年1月5日14点25分)。 

    我的环境:

    操作系统:Win10

    Tomcat:apache-tomcat-7.0.99-windows-x64

    Redis:Redis-x64-3.2.100

    都是win版的,大家可以熟悉了再去linux下面去配,道理都是一样的。

    具体配置开始:

    1.安装Redis,请参考另一篇文章:https://www.cnblogs.com/xiandedanteng/p/12147921.html

    2.下载配置Tomcat

    从Tomcat官网将apache-tomcat-7.0.99下载下来后,解压,拷贝到本地的两个目录:

    然后,分别编辑两个tomcat的startup.bat,将以下两行文字插到文件头部:

    set JAVA_HOME="C:Java8"
    set CATALINA_HOME="C:Install	omcat7rediscluster	omcat01"

    第一句是告诉tomcat javahome在哪里,这不需要修改,第二句则是自己所在的物理地址,是需要根据目录变动的。

    之后,需要修改tomcat02的server.xml文件,将三个端口改掉。

    <Server port="8006" shutdown="SHUTDOWN">
    ...
    <Connector port="8088" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    ...               
    <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />        

    这三个端口,我是从8005,8080,8009修改过来的。

    这一步是为了两个tomcat端口互相不干扰,之后可以启动两个tongcat测试一下。

    3.拷贝redis相关jar包到两个tomcat的lib目录:

    https://files.cnblogs.com/files/xiandedanteng/tomcat7-redis-session-manager.rar 下载之,解压之,拷贝之。

    4.拷贝myweb.war到两个tomcat的webapps目录

    下载地址:https://www.cnblogs.com/xiandedanteng/p/12143132.html

    这个web应用是用来看sessionid的。

    5.设置两个tomcat的context.xml,我的设置如下:

    Tomcat1:

    <?xml version='1.0' encoding='utf-8'?>
    
    <Context>
    
        <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
        <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
        <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
           host="192.168.0.106"
           port="6379"
           database="0"
           password="ufo"
           maxInactiveInterval="60" />
    
    </Context>

    Tomcat2:

    <?xml version='1.0' encoding='utf-8'?>
    
    <Context>
    
        <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
        <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
        <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
           host="192.168.0.106"
           port="6379"
           database="0"
           password="ufo"
           maxInactiveInterval="60" />
    
    </Context>

    两个文件是一摸一样,其中host是自己的IP,port是redis启动端口,password是你在redis.windows.conf里设置的密码,别搞错了。

    之后打开cmd窗口,分别到两个tomcat的bin目录,执行startup.bat以启动两个tomcat,,到localhost:8080/myweb 和 localhost:8088/myweb 看看session id是否一致就行了。如果你也看到两个session id一致,那么祝贺你。

    写到这里,忽然想到人家写好配过的,我照做一遍,是否值得得意呢?相对于人家先行者,我无疑是跟随着,但相对于昨天的我,今天知道怎么配的我无疑是进步的,从此我又打开了一扇门,其后是更广阔的天地,这难道不是一件值得小得意的事情吗?你觉得呢?

     

    --END-- 2020年1月4日 09点54分

  • 相关阅读:
    python 指定文件夹下所有文件(包括子目录下的文件)拷贝到目标文件夹下
    python 删除文件或文件夹
    Computer Science Theory for the Information Age-1: 高维空间中的球体
    Jordan Lecture Note-12: Kernel典型相关分析(Kernel Canonical Correlation Analysis, KCCA).
    王道论坛研究生机试练习赛(二)
    Jordan Lecture Note-11: 典型相关分析(Canonical Correlation Analysis, CCA).
    PAT 1021
    Jordan Lecture Note-10: Kernel Principal Components Analysis (KPCA).
    PAT 1020
    PAT 1019
  • 原文地址:https://www.cnblogs.com/heyang78/p/12148058.html
Copyright © 2020-2023  润新知