追加安装sticky模块
下载地址:http://code.google.com/p/nginx-sticky-module/downloads/list
或者:
wget https://code.google.com/p/nginx-sticky-module/downloads/detail?name=nginx-sticky-module-1.1.tar.gz
解压:
tar -xzvf nginx-sticky-module-1.1.tar.gz
进入nginx-1.9.3目录
编译时出现错误:
cc1: warnings being treated as errors
ngx_http_sticky_module.c: In function ‘ngx_http_get_sticky_peer’:
/ngx_http_sticky_module.c:333: 警告:赋值时将整数赋给指针,未作类型转换
ake[1]: *** [objs/addon/nginx-sticky-module-1.1/ngx_http_sticky_module.o] 错误 1
根据资料 把ngx_http_sticky_misc.c 的281行修改如下
原digest->len = ngx_sock_ntop(in,digest
->data, len, 1);
改后digest->len = ngx_sock_ntop(in,sizeof(struct sockaddr_in),digest
->data, len, 1);
对nginx-sticky-module-1.1/ngx_http_sticky_module.c文件也进行修改(主要是1.9.x版本会出现这问题)
修改两个地方,如下图:
第6行添加:
#include <nginx.h>
第340行左右修改(iphp->rrp.current = iphp->selected_peer;)为:
#if defined(nginx_version) && nginx_version >= 1009000
iphp->rrp.current = peer;
#else
iphp->rrp.current = iphp->selected_peer;
#endif
可参考如下两个链接:
https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/issues/18/wont-compile-on-nginx-190
在nginx-1.9.3目录,重新添加模块,编译
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/lab/re/pcre-8.36 \
--with-zlib=/lab/re/zlib-1.2.8 \
--with-openssl=/lab/re/openssl-1.0.2d \
--with-http_stub_status_module \
--with-http_realip_module \
--add-module=/lab/re/nginx-sticky-module-1.1
make
(不要make install,要不然就相当于重新安装了。)
复制编译后的二进制文件到目录(拷贝前把服务停掉)
cp /usr/local/nginx/nginx /usr/local/nginx/nginx.bak
cp /lab/re/nginx-1.9.3/objs/nginx /usr/local/nginx/nginx
/etc/init.d/nginx stop
/etc/init.d/nginx start
netstat -ano|grep 80
修改配置nginx文件,使插件sticky生效
vi /usr/local/nginx/nginx.conf
在upstream中添加sticky;
http {
upstream myproject{
#添加sticky模块后加入此配置
sticky;
#被代理的服务
server 192.168.1.100:8081;
server 192.168.1.101:8080;
}
server {
#nginx监听的端口
listen 80;
server_name localhost;
location / {
#代理
proxy_pass http://myproject;
}
}
}
测试配置文件是否OK
/usr/local/nginx/nginx -t
重载配置文件
/usr/local/nginx/nginx -s reload
相关推荐
Nginx-sticky模块(基于cookie的负载均衡实现)及追加安装注意事项
在不包含Sticky Notes 便签的操作系统中手动安装Sticky Notes 便签,windows server2016测试通过;包含x86及x64; 方法:1、新建 C:\Program Files\Sticky Notes 2、拷贝 en-US、slc.dll、StickyNotes.exe 至 C:\...
**Nginx Sticky模块详解** 在现代Web服务架构中,均衡负载是不可或缺的一部分,它能够有效地分散服务器压力,提高服务的稳定性和响应速度。Nginx作为一款高性能的反向代理服务器,其丰富的模块库提供了多种负载均衡...
在Ubuntu 14.04.2操作系统上安装和配置Nginx 1.6以及Sticky模块是一项关键的任务,特别是在构建高可用性和负载均衡的Web服务器环境时。以下是对这个主题的详细解释: 首先,Nginx是一个高性能的HTTP和反向代理...
4. `README`: 提供有关模块的基本信息、安装指南和使用说明。 5. `Changes`: 记录了各个版本的更新和修复。 **会话保持的工作原理** Nginx sticky 模块通过在客户端的请求中添加一个特定的 cookie 或者利用 HTTP ...
下载后,在编译安装nginx时,用--add-module选项,指到sticky所在目录。类似命令如下: ./configure --prefix=/usr/local/nginx-1.6.0 --add-module=../nginx-sticky-module-1.25 --without-...
4. **编译和安装**:执行 `make` 和 `make install` 来编译和安装 Nginx,这将把带有 sticky 模块的 Nginx 安装到系统指定的位置。 5. **配置 Nginx 配置文件**:编辑 Nginx 的配置文件,如 `nginx.conf`,在负载...
本资源包主要关注在Linux环境下安装和配置Nginx,特别是涉及到“sticky模块”的配置。下面将详细介绍这个过程以及相关知识点。 一、Nginx的安装 1. 更新包列表:在大多数Linux发行版中,首先要确保系统的包列表是...
而 Nginx 的 sticky 模块是它的一个扩展,用于实现会话持久化,即在负载均衡环境中保持用户会话与特定后端服务器之间的关联,从而提高服务的连续性和响应速度。Nginx sticky module 1.1 是该模块的一个版本,下面...
# 使用sticky模块 sticky cookie JSESSIONID name=SESSIONID path=/ domain=.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } } } ``` 在这个...
Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route (a)客户端首次发起访问请求,nginx接收后,发现...
包括nginx-1.10.3.tar.gz、nginx-sticky-module-1.1.tar.gz、zlib-1.2.8.tar.gz、openssl-1.0.1c.tar.gz、pcre-8.21.tar.gz以及按照过程可能的错误解决发法
1. **安装和配置Apache**:首先,确保你的系统已经安装了Apache服务器,并且安装了mod_proxy模块。如果尚未安装,可以通过包管理器(如apt-get或yum)进行安装。 2. **开启mod_proxy**:在Apache的配置文件httpd....
软件的绿色属性意味着它无需安装,下载后直接运行即可,不占用过多系统资源,也不会在电脑上留下冗余文件,对于注重系统清洁的用户来说是一大福音。 在功能方面,Simple Sticky Notes以其简洁直观的界面赢得了用户...
如果是安装程序,用户可以通过运行这个文件来安装或更新Sticky Notes;如果是一个数据文件,可能是用户先前保存的便签内容,以便在新设备或重新安装系统后恢复。 总的来说,Sticky Notes是一个功能齐全且用户友好的...
`nginx-sticky-module-1.26` 是一个专为 Nginx 设计的负载均衡模块,它的主要功能是在负载均衡策略中保持客户端请求的会话持久性。这个模块在分布式系统中尤其有用,它可以确保来自同一客户端的多次请求被定向到同一...
在微信小程序中,实现“sticky”(吸顶)效果是一项常见的需求,特别是在设计滚动列表时,需要某些元素如导航栏或广告条在页面滚动到一定位置时固定在顶部,以便用户在浏览过程中始终保持可见。本压缩包文件"微信小...
WP-Sticky插件的安装: 下载WP-Sticky 插件,将文件解压缩,上传到/wp-content/plugins/目录。 登录wordpress后台控制面板,点击“Plugins”找到上传的插件,激活该插件,你可以在后台的管理页面的Setting-...
在微信小程序开发中,`position:sticky` 是一个非常实用的CSS样式,它结合了`position:relative`和`position:fixed`的特点,用于创建元素的粘性定位。这个特性允许元素在滚动到特定位置时固定在屏幕的某个位置,从而...
用户的屏幕越来越大,而页面太宽的话会不宜阅读,所以绝大部分网站的主体宽度和之前相比没有太大的变化,于是浏览器中就有越来越多的空白区域,所以你可能注意到很多网站开始在滚动的...position:sticky为此而生,接下来