Nginx sticky模块实现session粘滞
注:系统已安装nginx。
一:下载,解压nginx sticky模块。
# cd /usr/local/src
# wget
# 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 linuxidc.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 *.linuxidc.com;
access_log /data/logs/linuxidc.com access_log;
error_log /data/logs/linuxidc.com.errorlog;
set $proxy_pass linuxidc.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 ;
add_headerCache-Control no-store;
}
四:启动nginx,网页测试。
#/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
或者
#service nginx start
更多Nginx相关教程见以下内容:
CentOS 6.2实战部署Nginx+MySQL+PHP
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块