关于Nginx session sticky
来源:互联网 发布:js设置option选中 编辑:程序博客网 时间:2024/05/29 13:35
Nginx以前对session保持支持不太好,主要采用ip_hash把同一来源的客户(同一C段的IP)固定指向后端的同一台机器,ip_hash有个缺点是不能实现很好的负载均衡;直到nginx的扩展模块nginx-sticky-module的出现,解决了session sticky的问题。
基本的原理:
首先根据轮询RR随机到某台后端,然后在响应的Set-Cookie上加上route=md5(upstream)字段,第二次请求再处理的时候,发现有route字段,直接导向原来的那个节点。
配置说明:
upstream cluster_test {
sticky[name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1][no_fallback];
server 192.168.100.209:80;
server 192.168.100.225:80;
}
name: 可以为任何的string字符,默认是route
domain:哪些域名下可以使用这个cookie
path:哪些路径对启用sticky,例如path/test,那么只有test这个目录才会使用sticky做负载均衡
expires:cookie过期时间,默认浏览器关闭就过期,也就是会话方式。
no_fallbackup:如果设置了这个,cookie对应的服务器宕机了,那么将会返回502(bad gateway 或者 proxy error),建议不启用。
Nginx编译
添加nginx_upstream_check_module
unzipnginx_upstream_check_module-master.zip
tar -zxf nginx-1.5.6.tar.gz
cd nginx-1.5.6
patch -p1 <../nginx_upstream_check_module-master/check_1.2.6+.patch
添加nginx-sticky-module,编译安装Nginx
tar -xzf nginx-sticky-module-1.1.tar.gz
cd nginx-1.5.6
./configure--prefix=/opt/lsmp/3rdparty/nginx/1.5.6 --with-http_stub_status_module--with-http_ssl_module --with-openssl=../openssl-1.0.1c--with-http_realip_module --add-module=../nginx-sticky-module-1.1--add-module=../nginx_upstream_check_module-master
make
make install
注意事项
nginx-1.5.x和nginx-sticky-module-1.1编译会有点问题,应该是nginx新版本没有相应的nginx-sticky-module,解决办法是把nginx-sticky-module-1.1/ngx_http_sticky_misc.c的281行修改为:
digest->len = ngx_sock_ntop(in,sizeof(struct sockaddr_in), digest->data, len, 1);
由于编译需要,编译安装Nginx之前,要先安装openssl
nginx-sticky-module的cookie过期时间,默认浏览器关闭就过期,也就是会话方式。- 关于Nginx session sticky
- 关于Nginx session sticky
- 关于Nginx session sticky
- 关于Nginx session sticky
- nginx sticky 提供session 保持
- 利用 Nginx session sticky功能实现NGINX + TOMCAT集群技术
- Sticky session
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
- session Replication & session sticky
- Apache+Tomcat关于Session Sticky的负载均衡
- Apache+Tomcat关于Session Sticky的负载均衡
- Apache+Tomcat关于Session Sticky的负载均衡
- Apache+Tomcat关于Session Sticky的负载均衡
- Tomcat集群session管理解决方案(关于sticky session、session replication与使用memcached缓存session)
- 范数
- 黑马程序员_Java基础语法1
- Android之PopupWindow弹出对话框
- Deserialize XML data into object
- hdu 1828 Picture(扫描线)
- 关于Nginx session sticky
- Xcode中禁用单个类文件不使用ARC
- Documentation/devicetree/bindings/xilinx.txt
- 洗牌算法汇总以及测试洗牌程序的正确性
- VC 调用C#写的COM组件注意事项
- cocos2d-x2.2.2(2.1.4及以上版本) VS2012 创建跨平台项目秒杀方法
- linux 命令备份
- Documentation/basic_profiling.txt
- 冒泡排序法---排序算法(三)