nginx+tomcat集群+redis(memcache)session共享!

nginx+tomcat+redissession共享

常用保持session的方式:

1、一些代理(比如nginxIP_hash)

1、使用数据库来存储Session

2、使用Cookie来存储Session                      

3、使用Redis来存储Sesssion(memcache也可以)

……

 

环境:

192.168.1.220   nginx    centos6.6   端口:80

版本:1.9.2

192.168.1.224   tomcatA  centos6.6   端口:8080

192.168.1.225  tomcatB   centos6.6   端口:8090

版本:Jdk:1.7.0_75   Tomcat:7.0.54

192.168.1.223  redis    3.0.5         端口:6379

配置session保持并测试:

nginx.conf配置:

upstream www.tomcatcluster.com {

 zone myapp1 64k;

 server 192.168.1.224:8080 weight=1 max_fails=2fail_timeout=30s;

 server 192.168.1.218:8090 weight=1 max_fails=2fail_timeout=30s;

}

server {

       listen 80 default;

       server_name  www.tomcat.com;

 

       location / {

    proxy_pass http://www.tomcatcluster.com;

   }

}


TomcatA:TomcatB

会话保持:

编辑tomcat配置文件context.xml(TomcatA和TomcatB均操作)

<Context>

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>

<ManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager"

   host="192.168.1.223"        <!-- Redis地址 -->

   port="6379"                 <!-- Redis端口 -->

   paassword="tomcat"           <!-- Redis密码 -->

   database="0"                <!-- 存储Session的Redis库编号 -->

   maxInactiveInterval="60"    <!-- Session失效的间隔(秒) -->

/>

</Context>

mv commons-pool2-2.2.jar  jedis-2.7.2.jar  tomcat-redis-session-manage-tomcat7.jar  /usr/local/tomcat-7.0.54/lib/


如何测试session会话保持?

可以看到虽然Server从TomcatA变为TomcatB,但session的创建时间没有变化,这就完成了session共享。

时间: 2024-11-08 08:01:46

nginx+tomcat集群+redis(memcache)session共享!的相关文章

nginx+tomcat集群+redis(memcache)session共享!

常用保持session的方式: 1.一些代理(比如nginxIP_hash) 1.使用数据库来存储Session 2.使用Cookie来存储Session                       3.使用Redis来存储Sesssion(memcache也可以) --   环境: 192.168.1.220   nginx    centos6.6   端口:80 版本:1.9.2 192.168.1.224   tomcatA  centos6.6   端口:8080 192.168.1.

用redis实现tomcat集群下的session共享

上篇实现了 LINUX中NGINX反向代理下的TOMCAT集群(http://www.cnblogs.com/yuanjava/p/6850764.html) 这次我们在上篇的基础上实现session 共享问题 Nginx机器:192.168.1.108 两台tomcat机器分别是:192.168.1.168 192.168.1.178 一:测试session共享问题 在原index.jsp页面添加如下代码 SessionId:<%= session.getId() %> <% Stri

nginx整合tomcat集群并做session共享----测试案例

最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘.---------菜鸡的自我修炼. 说明:博主采用一个web项目同时部署到两台tomcat下,(tomcat-A,tomca-B),使用nginx做反向代理,按照设置的权值,将请求分发到后台的tomcatA/tomcat-B,并且实现session共享. 配置好本地域名指向:修改host文件:添加 127.0.0.1  www.domain.com.cn 新建项目:tiny-d

Tomcat集群环境下session共享方案梳理(1)-通过memcached(MSM)方法实现

对于web应用集群的技术实现而言,最大的难点就是:如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块.要实现这一点, 大体上有两种方式: 一种是把所有Session数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台Session服务器来获取数据: 另一种就是在集群中的所有节点间进行Session数据的同步拷贝,任何一个节点均保存了所有的Session数据. Tomcat集群session同步方案有以下几种方式: 1)使用tomcat自带的

如何在tomcat集群中实现Session共享

转自:http://www.toutiao.com/i6388049068718817794/ Apache集群实现Tomcat的Session共享配置其实很简单,在Tomcat自带的文档中有详细的说明( /docs/cluster-howto.html ),只不过是英语的,所以联合 下面根据说下怎么配置吧: 1.既然是集群肯定要多准备几个Tomcat来模拟,比如分别为Tomcat01.Tomcat02.Tomcat03. 如果各Tomcat程序放在不同的机器上,那么就不会有端口的冲突.如果是放

100513、nginx+tomcat集群+session共享(linux)

第一步:linux中多个tomcat安装和jdk安装(略) 第二步:nginx安装,linux中安装nginx和windows上有点不同也容易出错,需要编译,这里做介绍 一.安装依赖 gcc openssl-fips-2.0.2.tar.gz zlib-1.2.7.tar.gz pcre-8.21.tar.gz 下载linux版本的安装包,如果不下载安装包,可以在线安装命令: yum install gcc-c++ yum install -y pcre  pcre-devel yum inst

Nginx+Tomcat 集群部署

1.Nginx + Tomcat 集群部署 简单配置 1 #user nobody; 2 worker_processes 4;#工作进程的个数 3 4 #error_log logs/error.log; 5 #error_log logs/error.log notice; 6 #error_log logs/error.log info; 7 8 #pid logs/nginx.pid; 9 10 11 events { 12 worker_connections 1024; #单个进程连

Memcached 在集群中的 session 共享存储

以下是 PHP Web 环境集群中的 session 共享存储设置: [[email protected] ~]# cat /etc/php.inisession.save_handler = memcache session.save_path = "tcp://192.168.5.131:11211" 配置完在 phpinfo 页面中查看:

nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云主机), 如何隔离访问这些服务资源? 彼此又不影响呢? nginx来为你排忧解难, ^_^. 本文将介绍tomcat的简单配置和部署, 以及nginx作为反向代理, 如何分流. 基础架构: 不成文的约定: 1). 一个tomcat容器部署一个webapp应用实例 2). url根目录访问webapp