Nginx sticky模块实现session粘滞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx sticky模块实现session粘滞相关的知识,希望对你有一定的参考价值。

注:系统已安装nginx

 

一:下载,解压nginx sticky模块。

# cd /usr/local/src
# wget http://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-1.1.tar.gz
# tar -zxvf nginx-sticky-module-1.1.tar.gz

 

二:查看现有nginx的编译参数,加上sticky模块参数重新编译。

#/usr/local/nginx/sbin/nginx –V
nginx version: nginx/1.3.14
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-54)
TLS SNI support disabled
configure arguments: --prefix=/usr/local/nginx--user=nobody --group=nobody --with-select_module --with-poll_module--with-file-aio --with-http_ssl_module --with-http_realip_module--with-http_gzip_static_module --with-http_secure_link_module--with-http_sub_module --with-http_stub_status_module--add-module=/root/nginx-http-concat/

 关闭nginx,加上sticky模块重新编译nginx(建议先备份配置文件)

# service nginx stop
# cd /usr/local/src/nginx-1.3.14
#./configure --prefix=/usr/local/nginx --user=nobody --group=nobody --with-select_module --with-poll_module --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-http_secure_link_module --with-http_sub_module --with-http_stub_status_module --add-module=/root/nginx-http-concat/ --add-module=/usr/local/src/nginx-sticky-module-1.1
# make && make install

 

三:修改配置文件,添加sticky相关参数

 在类似如下位置添加参数(红色字体)

vi upstream.conf
upstream test.com
{
   sticky;                     ---sticky
   server192.168.1.17:9082 weight=5 max_fails=2 fail_timeout=30s;
   server192.168.1.81:9082 weight=5 max_fails=2 fail_timeout=30s;
}

#vi web.conf
server {
       listen       9082;
       server_name *.test.com;
       access_log /data/logs/test.com access_log;
       error_log  /data/logs/test.com.errorlog;
       set $proxy_pass test.com;
 
       location / {
           root   html;
           index index.html index.htm;
           proxy_set_header Host  $host:$server_port;
           proxy_set_header   X-Real-IP        $remote_addr;
           proxy_pass  http://test.com;
           add_headerCache-Control no-store;
 
                  }

 

四:启动nginx,网页测试。

#/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
或者 
#service nginx start



本文出自 “扮演上帝的小丑” 博客,转载请与作者联系!

以上是关于Nginx sticky模块实现session粘滞的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Foundry Session Affinity(Sticky Session)的实现

Nginx添加stickky保持会话共享

ubuntu 12.04.4 安装nginx部署session sticky

CentOS7.2 负载均衡层nginx-1.10.1增加sticky session模块支持

使用nginx sticky实现基于cookie的负载均衡

粘滞位(sticky bit)