- 浏览: 557612 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (262)
- oracle (43)
- 打包 (3)
- linux (33)
- nginx (20)
- ftp (1)
- tomcat (8)
- mysql (22)
- plsql (4)
- jms (3)
- nosql (2)
- 运维监控 (5)
- 数据采集 (0)
- 测试 (2)
- jvm (5)
- 自动化数据库迁移 (2)
- 密码 (1)
- java代码 (7)
- java多线程,线程安全 (8)
- xml (1)
- spring (6)
- svn (2)
- oracle备份 (1)
- oracle 诊断 (3)
- oracle 归档 (4)
- java 虚拟机(JVM) (2)
- hibernate (5)
- activemq (2)
- http (2)
- linux_shell (9)
- python (3)
- ant (1)
- oracle rac (1)
- php (2)
- js (1)
- mongo (1)
- java 反射 (1)
- jira (1)
- 打包 maven (1)
- zabbix (2)
- lvs+keepalive (1)
- 防火墙 (1)
- memcache (2)
- redis (1)
最新评论
-
di1984HIT:
学习了~~~~
服务器大量TIME_WAIT -
springdata_spring:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
maven常用命令 -
李小斌_2014:
我也遇到了,现在完美解决。
ORA-01422: 实际返回的行数超出请求的行数 -
啸风8023:
...
tomcat启动报错 -
fke153:
这个问题确实很坑人啊,学习了
ORA-01422: 实际返回的行数超出请求的行数
原来写过一篇,为了加深理解,再写一篇
session分为
问题解决
1)ip_hash
不推荐使用:
1/ nginx不是最前端的服务器。
ip_hash要求nginx一定是最前端的服务器,否则nginx得不到正确ip,就不能根据ip作hash。譬如使用的是squid为最前端,那么nginx取ip时只能得到squid的服务器ip地址,用这个地址来作分流是肯定错乱的。
2/ nginx的后端还有其它方式的负载均衡。
假如nginx后端又有其它负载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求肯定不能定位到同一台session应用服务器上。
3/ 多个外网出口。
很多公司上网有多个出口,多个ip地址,用户访问互联网时候自动切换ip。而且这种情况不在少数。使用 ip_hash 的话对这种情况的用户无效,无法将某个用户绑定在固定的tomcat上 。
使用:
2)nginx_upstream_jvm_route(nginx扩展,推荐使用)
nginx_upstream_jvm_route 是一个nginx的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。
简单来说,它是基于cookie中的JSESSIONID来决定将请求发送给后端的哪个server,nginx_upstream_jvm_route会在用户第一次请求后端server时,将响应的server标识绑定到cookie中的JSESSIONID中,从而当用户发起下一次请求时,nginx会根据JSESSIONID来决定由哪个后端server来处理。
1/ nginx_upstream_jvm_route安装
下载地址(svn):http://nginx-upstream-jvm-route.googlecode.com/svn/trunk/
假设nginx_upstream_jvm_route下载后的路径为/usr/local/nginx_upstream_jvm_route,
(1)进入nginx源码路径
patch -p0 < /usr/local/nginx_upstream_jvm_route/jvm_route.patch
(2)./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.33 --add-module=/usr/local/nginx_upstream_jvm_route
(3)make & make install
修改tomcat配置server.xml
具体配置参考
[url]
http://hanqunfeng.iteye.com/blog/1920994
[/url]
session分为
session replication 策略是复制会话,即一个用户访问了一次就把session复制到所有的服务器或这一部分服务器。 这样的好处是如果正访问的服务器down了用户可以自动被转到别的服务器session不丢失。缺点当然是效率低。 session sticky策略则是不复制,一个用户访问了一次后,同一个session周期内,所有的请求都定向到这个服务器,down了session就丢了。
问题解决
1)ip_hash
upstream backend { server 172.16.3.10:8080 ; server 172.16.3.11:9090 ; ip_hash; }
不推荐使用:
1/ nginx不是最前端的服务器。
ip_hash要求nginx一定是最前端的服务器,否则nginx得不到正确ip,就不能根据ip作hash。譬如使用的是squid为最前端,那么nginx取ip时只能得到squid的服务器ip地址,用这个地址来作分流是肯定错乱的。
2/ nginx的后端还有其它方式的负载均衡。
假如nginx后端又有其它负载均衡,将请求又通过另外的方式分流了,那么某个客户端的请求肯定不能定位到同一台session应用服务器上。
3/ 多个外网出口。
很多公司上网有多个出口,多个ip地址,用户访问互联网时候自动切换ip。而且这种情况不在少数。使用 ip_hash 的话对这种情况的用户无效,无法将某个用户绑定在固定的tomcat上 。
使用:
2)nginx_upstream_jvm_route(nginx扩展,推荐使用)
nginx_upstream_jvm_route 是一个nginx的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。
简单来说,它是基于cookie中的JSESSIONID来决定将请求发送给后端的哪个server,nginx_upstream_jvm_route会在用户第一次请求后端server时,将响应的server标识绑定到cookie中的JSESSIONID中,从而当用户发起下一次请求时,nginx会根据JSESSIONID来决定由哪个后端server来处理。
1/ nginx_upstream_jvm_route安装
下载地址(svn):http://nginx-upstream-jvm-route.googlecode.com/svn/trunk/
假设nginx_upstream_jvm_route下载后的路径为/usr/local/nginx_upstream_jvm_route,
(1)进入nginx源码路径
patch -p0 < /usr/local/nginx_upstream_jvm_route/jvm_route.patch
(2)./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.33 --add-module=/usr/local/nginx_upstream_jvm_route
(3)make & make install
upstream tomcats_jvm_route { # ip_hash; server 192.168.33.10:8090 srun_id=tomcat01; server 192.168.33.11:8090 srun_id=tomcat02; jvm_route $cookie_JSESSIONID|sessionid reverse; }
修改tomcat配置server.xml
将 <Engine name="Catalina" defaultHost="localhost" > 修改为: <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat01">
具体配置参考
[url]
http://hanqunfeng.iteye.com/blog/1920994
[/url]
发表评论
-
nginx反向代理做cache配置
2016-04-11 10:53 1302本文抄自 [url] http://blog.sina.com ... -
nginx随机启动
2016-03-28 14:03 580#!/bin/bash # Tengine Startu ... -
据说这样并发可以到十万
2016-02-18 22:52 799一、一般来说nginx 配置文件中对优化比较有作用的为以下 ... -
502 upstream sent too big header while reading response header from upstream
2016-01-29 10:39 1395错误502 upstream sent too big h ... -
nginx用户认证配置( Basic HTTP authentication)
2015-11-26 11:49 836printf "admin:$(openssl ... -
nginx的upstream目前支持5种方式的分配
2015-09-19 00:30 807nginx的upstream目前支 ... -
nginx.conf 详解
2015-08-19 14:12 700#定义Nginx运行的用户 ... -
upstream prematurely closed connection while reading response header from upstre
2014-12-29 14:07 14773请求对方用nginx做了代理:但是error.log报 ... -
nginx concat 模块
2014-11-13 11:50 596mod_concat模块由淘宝开发,目前已经包含在teng ... -
Nginx添加模块(非覆盖安装)
2014-10-24 10:55 2324来源 http://www.linuxidc.com/ ... -
nginx 长连接
2014-07-31 14:23 8903出处: http://zhangxugg-163-com.it ... -
linux_nginx
2014-05-22 16:29 641#以下是一些反向代理的配置可删除. ... -
nginx安装
2012-05-15 14:47 905wget ftp://ftp.csx.cam.ac.uk/ ... -
nginx日志分割
2012-04-05 09:39 1085脚本如下 #!/bin/bash logs_path=&q ... -
ngnix日志解析
2012-03-31 17:05 5852nginx 日志分析 # log_format ... -
nginx负载均衡设置
2011-11-24 11:03 1929nginx 的 upstream目前支持 4 种方式的分配 ... -
nginx安装重启脚本
2011-11-15 14:17 979该文章来自http://rq2-79.iteye.com/bl ... -
nginx配置
2011-10-26 17:49 1720#user nobody; worker_proces ... -
Nginx+tomcat负载均衡session问题解决
2011-09-01 18:46 3836文章来源:http://hi.baidu. ...
相关推荐
Nginx+tomcat负载均衡集群session复制 windos
nginx-1.0.11.tar.gz、pcre-8.21.tar.gz、nginx-upstream-jvm-route-0.2 apache-tomcat-6.0.35.tar.gz、tomcat-native-1.1.20-src.tar.gz apr-1.4.6.tar.gz、apr-iconv-1.2.1.tar.gz、apr-util-1.4.1.tar.gz jdk-1_5...
Nginx Tomcat 集群的Session 复制,解决了,集群情况下的session复制问题。
Tomcat+Nginx+Redis搭建高性能负载均衡集群Session共享
Redis + Tomcat + Nginx 集群实现 Session 共享
Nginx 集群 tomcat session 共享配置有源码 介绍看博客:https://blog.csdn.net/wxb880114/article/details/80563301
linux 下实现apache+tomcat集群及session复制
nginx,tomcat集群,session共享,基于memcache 包含nginx配置,tomcat配置,以及tomcat所需要的jar 不包含nginx,tomcat,jdk,memcache的安装
通过测试的Nginx集群配置,该配置实现了轮训的sessin复制和共享。
nginx+tomcat+redis服务器集群session共享,本人多次搭建常用的工具,现在拿出来分享。
nginx tomcat 配置完整,只需要把项目放到tomcat下。 tomcat端口是8081,8082;nginx端口是8080
JBoss集群配置的Session复制。
NULL 博文链接:https://jackroomage.iteye.com/blog/1936597
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果
nginx集群文档 nginx高可用实现部署详细文档.docx session一致性memcached缓存数据库解决方案.docx 集群配置.docx
nginx配置tomcat集群session共享的时候memcache所用的jar包,
Windows7 + Nginx + Memcached + Tomcat 集群 session 共享
Nginx+Tomcat+Memcached-Session-Manager整合做集群实现Session共享,实战操作,亲测可用。本文档仅供交流学习使用,欢迎大家批评指正。
nginx-redis-tomcat 集群session共享方案 包括Nginx安装,redis安装,Nginx负载均衡配置,redis+双tomcat集群session共享等方案
tomcat+redis+nginx实现session共享所需jar包,包含commons-pool2-2.4.2.jar、jedis-2.8.0.jar、tomcat-redis-session-manager-2.0.0.jar