nginx+tomcat会话保持

在nginx.conf中http标签内定义upstream

upstream name {                #name自定义一个名字
    server     ip1:port weight=5;
    server     ip2:port weight=5
}

在server标签内的location/中

loation /{
proxy_pass http name;        #使用upstream定义的name
proxy_set_header X-Real_IP $remote_addr;
client_max_body_size 100m;
}

对特殊目录限制权限

location ~ ^/(WEB-INF)/ {
    denny all;    
}

tomcat设置

使用memcached-session-manager这个开源项目(http://code.google.com/p/memcached-session-manager,下面简称msm)配置Tomcat和memcached实现session共享。

首先将下面的包下载到Tomcat的lib目录下,这些包都是msm所依赖的包。

[[email protected] ~]# cd /usr/local/tomcat/lib/  
[[email protected] lib]# wget http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar
[[email protected] lib]# wget http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar
[[email protected] lib]# wget http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar
[[email protected] lib]# wget http://spymemcached.googlecode.com/files/memcached-2.4.2.jar
[[email protected] lib]# wget http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar

修改server.xml

	 <Context docBase="/var/www/html" path="" reloadable="true">  
	 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"   
		 memcachedNodes="n1:localhost:11211"   
	     requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"   
	     sessionBackupAsync="false"   
	     sessionBackupTimeout="100"   
	     transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"   
	     copyCollectionsForSerialization="false" />  
	 </Context>

这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:

n1:localhost:11211 n2:localhost:11212     /localhost改为安装memcached的服务器的IP

sessionBackupTimeout的单位为分钟

/var/www/html改为Tomcat服务器web根目录的路径

修改后重启TOMCAT和nginx服务

时间: 2024-10-14 08:23:06

nginx+tomcat会话保持的相关文章

Nginx+tomcat session cluster会话保持实验

Nginx+tomcat session cluster会话保持实验 实验要求: 1.nginx+tomcat 负载均衡 2.会话保持 实验拓扑 ip网络规划 Nginxnode2:172.16.76.20 tomcatAnode3:172.16.76.30 tomcatBnode4:172.16.76.40 基础配置 node2: [[email protected]~]# yum install nginx –y    node3:     [[email protected]~]# yum

redis缓存服务器(Nginx+Tomcat+redis+MySQL实现session会话共享)

一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现master-slave(主从)同步. Redis是一个高性能的key-valu

tomcat session会话保持实验-之Nginx+tomcat+memcached

tomcat session会话保持实验-之Nginx+tomcat+memcached 实验要求 1.nginx+tomcat 负载均衡 2.memcached 会话保持 实验拓扑   ip网络规划 Nginxnode2:172.16.76.20 tomcatAnode3:172.16.76.30  memcached tomcatBnode4:172.16.76.40  memcached 基础配置   node2 [[email protected]~]# yum install ngin

haproxy+nginx+tomcat+memcache实现动静分离、会话同步集群

一.实验说明 haproxy在前端做负载均衡调度,后端实现动静分离 静态资源server为nginx 动态内容使用nginx&tomcat做app server,集成于单机,两台 使用两台memcache服务器做高可用session缓存,实现app server宕机时会话不中断 以上组合使用实现业务.session.session缓存均为高可用的集群. 二.实验准备 haproxy server:192.168.0.168 nginx server(静态):192.168.0.68 nginx+

图文并茂超详细搭建redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享)

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会

Nginx+Tomcat+memcached高可用会话保持

一.概述 之前文章已经描述了企业高可用负载相关的架构及实现,其中常用的nginx或haproxy,LVS结合keepalived做前端高可用调度器;但之前没有提到会话高可用保持;本文通过 Tomcat Session Replication Cluster(tomcat自带)和tomcat结合memcat及第三方组件实现Tomcat Memcache Session Server高可用会话缓存服务;实现的效果:同一客户端访问业务网站,经过调度器负载调度到达后端,不管选择的是那个后端,sessio

nginx+Tomcat反向代理实现session会话保持

环境:nginx+tomcat一台nginx:192.168.2.198一台tomcat1:192.168.2.197一台tomcat2:192.168.2.199 一.Tomcat上操作(2台机器相同操作)1.jdk安装2.tomcat安装3.配置path环境变量4.启动tomcat5.创建测试页面并测试页面[[email protected] conf]#vi /usr/local/tomcat_a/webapps/test/index.jsp <%@ page language="j

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  ce

session共享机制(nginx+tomcat+memcached)

一.配置jdk环境java的编译环境------server2和server3同时配置 jdk是JAVA的开发编译环境是java语言的软件开发工具包主要用于移动设备的嵌入式设备上的java应用程序 jdk的安装基础过程 1将jdk的包解压在指定路径 使用-C来指定路径 2进入指定的路径给jdk解压后的目录做个软连接 3编辑系统的环境变量使得java命令可以使用更改后让文件生效让环境变量文件即时生效使用source命令 4编辑java测试文件编译执行 1. get jdk-7u79-linux-x