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

1
2
3
# 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模块参数重新编译。

1
2
3
4
5
#/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(建议先备份配置文件)

1
2
3
4
# 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相关参数

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

1
2
3
4
5
6
7
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;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#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,网页测试。

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

 

Nginx sticky模块实现session粘滞的更多相关文章

  1. [转帖]利用nginx实现负载均衡 | 哈希算法,sticky模块实现session粘滞

    利用nginx实现负载均衡 | 哈希算法,sticky模块实现session粘滞 2018年08月02日 10:06:03 Minza 阅读数 483 https://blog.csdn.net/ha ...

  2. NGINX:sticky模块实现基于cookie的负载均衡

    Sticky模块 简述: 之前公司部署了一套网站及时发布系统,架构如下图所示:Nginx做前端代理,发布系统用tomcat运行,一台共享存储,一台数据库服务器:由于网站及时发布系统涉及到了用户登录操作 ...

  3. windows系统下nginx+tomcat+redis做负载均衡和session粘滞附整套解决方案

    Nginx: 在nginx-1.8.0\conf目录下找到nginx.conf文件,打开文件修改文件中http{}中的内容,在http{}中加入 upstream localhost  { serve ...

  4. nginx会话保持之sticky模块

    nginx会话保持之nginx-sticky-module模块 在使用负载均衡的时候会遇到会话保持的问题,常用的方法有:1.ip hash,根据客户端的IP,将请求分配到不同的服务器上:2.cooki ...

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

    在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接.使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端 ...

  6. 使用nginx sticky实现基于cookie的负载均衡【转】

    在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接.使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端 ...

  7. nginx负载均衡基于ip_hash的session粘帖

    nginx负载均衡基于ip_hash的session粘帖 nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除 ...

  8. nginx添加sticky模块-cookie保持会话

    cookie不同于session,一个存于客户端,一个存于服务端. 环境nginx 1.8.0 centos6.X sticky:1.2.5  wget https://bitbucket.org/n ...

  9. Linux中的特殊权限粘滞位(sticky bit)详解

    Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...

随机推荐

  1. rabbitmq 配置多个消费者(转载)

    Concurrency与Prefetch 在通常的使用中(Java项目),我们一般会结合spring-amqp框架来使用RabbitMQ,spring-amqp底层调用RabbitMQ的java cl ...

  2. Why GPU Program is expensive in CPU

    对于非morden API这部分开销比较大的原因 1. state validation -验证state API 调用的合法性  CPU开销 -encode API state 到hardware ...

  3. Python 10.1.1

  4. 001_C#我的第一个串口上位机软件

    (一)首先感谢杜洋工作室 < 入门 C#设计 >带来的视频教学 (二)本次设计从会单片机但是又不会上位机又想搞简单上位机的人群角度提供教程 (三)本次教程的目的是制作普通的串口软件,从而实 ...

  5. Cogs 1345. [ZJOI2013] K大数查询(树套树)

    [ZJOI2013] K大数查询 /* 树套树写法. bzoj过不了. 可能有负数要离散吧. 线段树套线段树. 外层权值线段树,内层区间线段树维护标记. 对权值建一棵权值线段树. 某个点表示权值在某个 ...

  6. codeforces 1249 D2 Too Many Segments (hard version) 贪心+树状数组

    题意 给定n个线段,线段可以相交,第\(i\)个线段覆盖的区间为\([l_i,r_i]\),问最少删除多少个线段让覆盖每个点的线段数量小于等于k. 分析 从左往右扫每个点\(x\),若覆盖点\(x\) ...

  7. RabbitMQ 和 Kafka 的消息可靠性对比

    RabbitMQ和Kafka都提供持久的消息保证.两者都提供至少一次和至多一次的保证,另外,Kafka在某些限定情况下可以提供精确的一次(exactly-once)保证. 让我们首先理解一下上述术语的 ...

  8. tomcat发布web项目

    转:https://www.cnblogs.com/skyblue-li/p/7888951.html Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布.服务 ...

  9. 大整数乘法(c++)【转载】

    摘自<c++数据结构原理与经典问题求解> #include #include #include using namespace std; //返回位数为size1+size2 int* m ...

  10. springboot实现异步调用

    介绍 所谓的异步执行其实就是使用多线程的方式实现异步调用. 异步有什么好处呢? 如果一个业务逻辑执行完成需要多个步骤,也就是调用多个方法去执行, 这个时候异步执行比同步执行相应更快.不过要注意异步请求 ...