zoukankan      html  css  js  c++  java
  • Nginx Session Sticky

    nginx的粘性session主要通过nginx-sticky-module实现

    1 下载 nginx-sticky-module

    下载地址:https://code.google.com/p/nginx-sticky-module/downloads/list

    官方文档:https://code.google.com/p/nginx-sticky-module/wiki/Documentation

    2 安装

    解压nginx-sticky-module到/usr/local

    tar -xzf nginx-sticky-module-1.1.tar.gz

    进入 nginx 源码目录/usr/local/nginx-1.6.2,执行命令,重新编译:

    ./configure ... --add-module=../nginx-sticky-module-1.1
    make
    make install

    3 make报错

    make的时候可能由于高版本的原因会出现以下错误:

    make[1]: *** [objs/addon/nginx-sticky-module-1.1/ngx_http_sticky_misc.o] Error 1
    make[1]: Leaving directory `/usr/local/nginx-1.6.2'
    make: *** [build] Error 2

    解决方法:

    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);

    4 sticky使用

    upstream 172.16.0.16 {
            sticky;
            server 172.16.0.17:8180;
            server 172.16.0.17:8280;
            server 172.16.0.18:8180;
            server 172.16.0.18:8280;
        }

    sticky支持的参数:sticky [name=route] [domain=.foo.bar] [path=/] [expires=1h] [hash=index|md5|sha1] [no_fallback];

    name: 可以为任何的string字符,默认是route
    domain:哪些域名下可以使用这个cookie
    path:哪些路径对启用sticky,例如path/test,那么只有test这个目录才会使用sticky做负载均衡
    expires:cookie过期时间,默认浏览器关闭就过期,也就是会话方式。
    no_fallbackup:如果设置了这个,cookie对应的服务器宕机了,那么将会返回502(bad gateway 或者 proxy error),建议不启用。

    如下:

    sticky name=routeID expires=1h domain=.test.com path=/;
  • 相关阅读:
    007_2 (变式)青蛙跳台阶
    008 二进制中1的个数
    009 数值的整数次方
    007_1 斐波那契数列的非递归解法
    Linux TTY函数跟踪
    Linux UART介绍
    Linux TTY介绍
    Linux音频编程
    Jasper语音助理
    Raspberry Pi使用
  • 原文地址:https://www.cnblogs.com/jager/p/4390240.html
Copyright © 2011-2022 走看看