tomcat-7.0.42 + redis-3.2.1 session 共享

测试环境:

1、apache-tomcat-7.0.42

2、jdk1.7.0_67_64

3、Redis-x64-3.2.100

4、windows系统

一、下载tomcat-redis-session的源码自行打包

源码地址:https://github.com/jcoleman/tomcat-redis-session-manager

<modelVersion>4.0.0</modelVersion>
  <groupId>com.hik</groupId>
  <artifactId>tomcat-redis-session</artifactId>
  <version>7.0</version>
  <name>demo</name>
<url>http://www.example.com</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
</properties>

<dependencies>
    <dependency>
	    <groupId>org.apache.tomcat</groupId>
	    <artifactId>tomcat-catalina</artifactId>
	    <version>7.0.27</version>
    </dependency>
	
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.7.2</version>
    </dependency>
</dependencies>

二、打包生成tomcat-redis-session-7.0.jar包,从maven仓库中拷贝一份jedis-2.7.2.jar 和tomcat-catalina-7.0.27.jar,再下载commons-pool2-2.4.1.jar;将这4个包放入tomcat\lib目录下;

三、配置tomcat\conf下的context.xml文件


<?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
    <!-- tomcat-redis-session共享配置 -->
    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
	<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
         host="localhost" 
         port="6379" 
         database="0" 
         maxInactiveInterval="60" />
 
</Context>

四、多个tomcat的配置都一致,所以把配置都copy到对应的其他tomcat下。

五.、nginx负载均衡配置

#设定实际的服务器
upstream zp_server1{
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
}

#反向代理
server {
    listen        80;
    server_name  localhost;
    
	proxy_set_header Host $host;
    proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;
		
    location / {
		proxy_pass http://zp_server1;
    }
	
	#静态文件,nginx自己处理
    location ~ ^/(images|javascript|js|css|flash|media|static)/ {
        root    /root;		
        expires 30d;
    }
    
    #设定查看nginx状态的地址
    location /nginxStatus {
        stub_status           on;
        access_log            on;
        auth_basic            "NginxStatus";   #这个是提示信息
        #auth_basic_user_file  conf/htpasswd;
    }
    
    #禁止访问 .htxxx 文件
    location ~ /\.ht {
        deny all;
    }
    
    #错误处理页面(可选择性配置)
    #error_page   404              /404.html;
    #error_page   500 502 503 504  /50x.html;
    #location = /50x.html {
    #    root   html;
    #}
		
}

六、下载redis安装并运行 http://redis.io/download

解压后进入...../Redis-x64-3.2.100 目录

在CMD中执行 redis-server.exe redis.windows.conf 如图

七、测试整个环境

新建:test.jsp、放在\apache-tomcat-7.0.42-8081\webapps\ROOT下,其它tomcat也放一份

<html>
	<body bgcolor="green">
	<center>
		<%=request.getSession().getId() %>
		<h1>192.168.1.107:8081</h1>
	</center>
	</body>
</html>

启动nginx,启动准备好的tomcat


访问:http://localhost/test.jsp 不停的刷新页面 发现页面的sessionid不变;关闭某个tomcat继续F5,sessionid也不变,说明环境搭建成功。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值