广杰博客

  • 首页
  • IT资讯
  • IT运维
  1. 首页
  2. IT运维
  3. 正文

nginx tomcat redis session共享

08/20/2016 2167点热度 0人点赞 0条评论

tomcat环境:

192.168.0.18 nginx redis

192.168.0.13 tomcat1   192.168.0.14 tomcat2

所需文件下载:
http://central.maven.org/maven2/redis/clients/jedis/2.5.2/jedis-2.5.2.jar
http://central.maven.org/maven2/org/apache/commons/commons-pool2/2.2/commons-pool2-2.2.jar
我们需要依赖一个由美国的James Coleman同学编写的tomcat-redis-session-manager项目:https://github.com/jcoleman/tomcat-redis-session-manager,该项目是用gradle构建的。所以你需要用到gradle。

安装gradlegradle官网地址:http://gradle.org/gradle下载页面:http://gradle.org/gradle-download/gradle2.9完整包下载地址:https://services.gradle.org/distributions/gradle-2.9-all.zip下载完成后,解压并配置环境变量:GRADLE_HOME=/xxx/xxx/xxxx/gradle-2.9Path=原Path地址;%GRADLE_HOME%\bin输入命令测试gradle:gradle -v 显示版本即可

用gradle编译tomcat-session-manager
首先你需要在github上将该项目clone下来:git clone https://github.com/jcoleman/tomcat-redis-session-manager.git
然后在该目录输入命令: gradle build 如果你想查看gradle构建中遇到的详细错误信息栈则添加参数--stacktrace:gradle build --stacktrace
结果报出错误: No such property: sonatypeUsername for class: org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer
那么请在signing节点中添加required = false以及删掉或注释掉build.gradle文件中的sonatype的repository代码即可

5
再次运行gradle build --stacktrace 构建成功,然后打包的jar会放到build/libs目录下
此时只需要将tomcat-redis-session-manager-2.0.0.jar以及另外两个依赖包:jedis- 2.5.2.jar,commons-pool2-2.2.jar一并拷入tomcat的lib目录下即可(依赖包可以在gradle的用户目录下找到)

配置tomcat对redis的依赖:

Add the following into your Tomcat context.xml (or the context block of the server.xml if applicable.)

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" <!-- optional: defaults to "localhost" --> port="6379" <!-- optional: defaults to "6379" --> database="0" <!-- optional: defaults to "0" --> maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) --> sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional --> sentinelMaster="SentinelMasterName" <!-- optional --> sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />

3

nginx分发

http {
    upstream myapp1 {
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }
  log_format www_abc_com '$remote_addr - $remote_user [$time_local] $request '
       '"$status"$body_bytes_sent "$http_referer"' 
       '"$http_user_agent" "$http_x_forwarded_for"';
    server {
        listen 80;

        location / {
            proxy_pass http://myapp1;
            proxy_redirect  off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    access_log  /data/base_files/logs/redis.xxy.log  www_abc_com;
    }
}

创建session测试程序

分别放入两个tomcat中,192.168.0.13 标记为tomcat1   192.168.0.14 标记为tomcat2

<%@page language="java"%>
<html>
<body>
<h1><font color="red">Session serviced by tomcat1</font></h1>
<table aligh="center" border="1">
<tr>
<td>Session ID</td>
<td><%=session.getId() %></td>
<% session.setAttribute("abc","abc");%>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
<html>

访问http://192.168.0.18   刷新几次可以显示访问不同的服务器
12

标签: nginx tomcat redis session共享
最后更新:12/03/2016

guangjie

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >
文章目录
  • 配置tomcat对redis的依赖:
最新 热点 随机
最新 热点 随机
Red Hat Enterprise Linux 9 发布,大量组件升级 windows10 家庭版添加hyper-v虚拟机组件 Red Hat Enterprise Linux 8.5 GA 发布 Rocky Linux 8.4 GA正式版发布下载 Rocky Linux 8.3 首个候选版本发布 CentOS 8.3 (2011) ISO镜像下载发布 CentOS Linux 落幕 CentOS Stream 上位 CentOS Linux 7.9 (2009) iso镜像下载 Windows 10 2020年10月更新ISO下载 ubuntu ssh通过密钥登陆服务器
mdaemon的webadmin中文版 中国首款双核1.5G智能手机-小米手机 centos6.2 以文本形式安装,不能自定义分区 php程序网站顶部出现warning:Cannot modify header information SEO优化手册之关键词选取 iis开启gzip压缩功能 linux服务器基本安全配置 iis上的网站出现“请求的资源在使用中” 影响MySQL性能配置参数 织梦淘宝客3.3整合版让taoke做主目录成首页
标签聚合
linux php_curl springboot redhat Hyper-V android nginx Windows Server 2012
友情链接
  • linux运维
  • 郑州SEO

COPYRIGHT © 2021 gjie.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备07002435号-8