Nginx+Tomcat的session共享(与Redis整合)

180人浏览 / 0人评论

前言:相比用memcached做session共享,redis其实方便很多,也不用考虑jar包版本的问题,memcached做共享的jar包实在太多了,版本不对还会出各种错误。

准备工作:

1,安装好redis

    可参考:Redis之安装篇(windows 7 64位)

2,准备好两个tomcat用来测试

3,安装好Nginx,并按照上一篇进行相关配置,这里不再做配置说明了

 

下面进入正题,详细讲解配置步骤:

1,打开 https://github.com/jcoleman/tomcat-redis-session-manager ,下载源码

2,新建maven工程,将刚下载的源码拷贝进maven工程中,需要注意jdk的编译版本,我这里使用的是1.7的版本

3,修改pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.viking</groupId>
	<artifactId>redis-session</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>redis-session Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>jdk.tools</groupId>
			<artifactId>jdk.tools</artifactId>
			<version>1.7</version>
			<scope>system</scope>
			<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-catalina</artifactId>
			<version>7.0.26</version>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.8.0</version>
		</dependency>
	</dependencies>
	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
					<encoding>utf8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

4,用maven命令打包,生成对应的jar包 redis-session.jar

5,将 redis-session.jar以及依赖包commons-pool2-2.3.jar、jedis-2.8.0.jar(选择你用的jar包版本)拷贝到tomcat的lib目录里,一共需要拷贝这三个jar包,相比memcached的共享jar包,实在太精简了。

6,配置tomcat的context.xml(和memcached的共享配置很类似)

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
	<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
		host="localhost"
		port="6379"
		database="0"
		maxInactiveInterval="60" />

7,在tomcat底下创建测试页面(可参考上篇)

8,启动tomcat,访问http://localhost 查看效果

转载自:https://my.oschina.net/u/238296/blog/601339

全部评论