nginx-tomcat-redis共享session

原文地址:http://www.cnblogs.com/lengfo/p/4260363.html

1、从 github 获取 tomcat-redis-session-manager-master 源码,地址如下:https://github.com/jcoleman/tomcat-redis-session-manager
2、由于源码构建基于 gradle,请先配置 gradle 环境:配置gradle文档:https://gradle.org/install/#manually
3、找到源码中的build.gradle文件,修改该文件

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'signing'
group = 'com.orangefunction'
version = '2.0.0'
repositories {
 mavenCentral()
}

compileJava {
 sourceCompatibility = 1.7
  targetCompatibility= 1.7
}

dependencies {
  compilegroup: 'org.apache.tomcat', name: 'tomcat-catalina', version: '7.0.27'
  compilegroup: 'redis.clients', name: 'jedis', version: '2.5.2'
  compilegroup: 'org.apache.commons', name: 'commons-pool2', version: '2.2'
 //compile group: 'commons-codec', name: 'commons-codec', version: '1.9'
 testCompile group: 'junit', name: 'junit', version: '4.+'
 testCompile 'org.hamcrest:hamcrest-core:1.3'
 testCompile 'org.hamcrest:hamcrest-library:1.3'
 testCompile 'org.mockito:mockito-all:1.9.5'
 testCompile group: 'org.apache.tomcat', name: 'tomcat-coyote', version:'7.0.27'
}

task javadocJar(type: Jar, dependsOn: javadoc){
 classifier = 'javadoc'
  from'build/docs/javadoc'
}

task sourcesJar(type: Jar) {
  fromsourceSets.main.allSource
 classifier = 'sources'
}

artifacts {
 archives jar
 archives javadocJar
 archives sourcesJar
}

//signing {
//  signconfigurations.archives
//}

task copyJars(type: Copy) {
  fromconfigurations.runtime
  into'dist'  
}

uploadArchives {
 repositories {
   mavenDeployer {
     beforeDeployment { MavenDeployment deployment ->signing.signPom(deployment) }

     //repository(url:"https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
      //  authentication(userName: sonatypeUsername,password: sonatypePassword)
      //}
     //repository(url:"https://oss.sonatype.org/content/repositories/snapshots") {
     //  authentication(userName:sonatypeUsername, password: sonatypePassword)
      //}

     pom.project {
       name 'tomcat-redis-session-manager'
       packaging 'jar'
       description 'Tomcat Redis Session Manager is a Tomcat extension to storesessions in Redis'
       url 'https://github.com/jcoleman/tomcat-redis-session-manager'

       issueManagement {
         url 'https://github.com:jcoleman/tomcat-redis-session-manager/issues'
         system 'GitHub Issues'
        }

       scm {
         url 'https://github.com:jcoleman/tomcat-redis-session-manager'
         connection'scm:git:git://github.com/jcoleman/tomcat-redis-session-manager.git'
         developerConnection'scm:git:git@github.com:jcoleman/tomcat-redis-session-manager.git'
        }

       licenses {
         license {
           name 'MIT'
           url 'http://opensource.org/licenses/MIT'
           distribution 'repo'
         }
        }

       developers {
         developer {
           id 'jcoleman'
           name 'James Coleman'
           email 'jtc331@gmail.com'
            url 'https://github.com/jcoleman'
         }
        }
      }
    }
  }
}

4、执行gradle命令构建源码,编译输出tomcat-redis-session-manager-master 及依赖jar包
进入到下载的tomcat-redis-session-manager-master目录中即build.gradle文件所在目录中,执行如下命令生成相应的jar包,jar生成的地址分别为build目录以及dist目录下;

gradle  build  -x  tomcat-redis-session-manager-master  copyJars

这里写图片描述

将上面生成的全部jar包,覆盖到tomcat安装目录的lib目录中;
分别修改两台tomcat服务器下的context.xml配置文件,在配置文件中新增如下设置:

<Context>
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
           host="192.168.44.101"    <!--redis服务器地址和端口 -->
           port="6379"
           database="0"
           maxInactiveInterval="60" />
</Context>

修改nginx.conf配置文件

upstream test{
server 127.0.0.1:8085;
server 127.0.0.1:8087;
}
server {
        listen       80;
        server_name  www.test.com;
        location / {
proxy_set_header Host $host;
proxy_pass_header User-Agent;
proxy_pass   http://test;
index  index.html index.htm;
        }
}

tomcat7:
两台tomcat分别配置端口号为8085和8087,分别在E:\apache-tomcat7-07-8087\webapps\ROOT目录下新建一个index.jsp文件,文件中的主要内容如下:

<h3><%=session.getId() %></h3>
<br/>
<h4>8085</h4>

<h3><%=session.getId() %></h3>
<br/>
<h4>8087</h4>

分别启动两台tomcat服务器即可;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值