追加安装sticky模块

标签: sticky 模块 | 发表时间:2015-11-03 17:53 | 作者:crabdave
出处:http://www.iteye.com

追加安装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/commits/51efa124a4330e194ef651e597a6038a6f7979dc

 

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

 

 





已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [sticky 模块] 推荐:

追加安装sticky模块

- - 开源软件 - ITeye博客
下载地址: http://code.google.com/p/nginx-sticky-module/downloads/list. 进入nginx-1.9.3目录. /ngx_http_sticky_module.c:333: 警告:赋值时将整数赋给指针,未作类型转换. ake[1]: *** [objs/addon/nginx-sticky-module-1.1/ngx_http_sticky_module.o] 错误 1.

Sticky Notes – 随手便笺 [Chrome] | 小众软件 > Chrome

- jellicle - 小众软件
东野二狗办公桌前总是有个小本子,偶尔写写画画记个电话号码什么的. 不幸的是,这本子不知被谁顺走了. 于是二狗发掘到 Sticky Notes,一款运行在 Chrome 上的免费随手便笺应用. Sticky Notes 不仅美观,易用性更让人叹服. 双击创建新贴条,可分类调整颜色/字体大小,还能在乱七八糟时排列所有便笺.

Sticky Notes 把Google瀏覽器當便利貼用

- crazy wave - PCuSER 電腦人:: 痞客邦 PIXNET ::
相信不少習慣用電腦處理大小事的朋友,臨時要記下什麼MEMO時,經常手邊不是找不到紙就是找不到筆. 打開記事本來記這些事也很怪,還要存檔什麼的更是麻煩. 不過只要你是Google Chrome的使用者,連軟體都不必安裝,就能輕鬆擁有便利貼工具囉.

Sticky Notes 把 Chrome 瀏覽器當便利貼用

- 小趴 八足趴 八足 ramener - T客邦
相信不少習慣用電腦處理大小事的朋友,臨時要記下什麼MEMO時,經常手邊不是找不到紙就是找不到筆. 打開記事本來記這些事也很怪,還要存檔什麼的更是麻煩. 不過只要你是 Google Chrome 的使用者,連軟體都不必安裝,就能輕鬆擁有便利貼工具囉. 官方網址:http://goo.gl/cbhYs.

Nginx模块开发入门

- ripwu - 博客园-EricZhang&#39;s Technology Blog
Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%. 与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.

nginx防hashdos模块释出

- - 五四陈科学院-坚信科学,分享技术
以下内容由 [五四陈科学院]提供. hashdos这个事,严格意义上不是各种语言的错了(不过perl的确处理得很好),但是用nginx来擦屁股要干净些. 借鉴tomcat的作法,实现了下面这个nginx-http-hashdos-module,通过设置hashdos(默认on)的开关和body_max_count(默认值1000),对nginx后面的服务进行安全防护,相比对php或者java进行patch,这或许是最好的办法了.

开发一个Nginx模块

- - 互联网 - ITeye博客
用C语言写一个ngx_http_hello_module.c的文件. ngx_null_command }; // 不设置在HTTP初始化完成的,则不需要设置回调函数 static ngx_http_module_t ngx_http_hello_module_ctx = {. NULL }; // 定义http的hello模块 ngx_module_t ngx_http_hello_module = {.

jQuery 模块介绍与 jQuery 插件的深度模块化

- zhibin - 岁月如歌
大名鼎鼎的 jQuery 就不多介绍了,详细介绍推荐官网:jquery.com. 阮一峰最近整理的文章也不错,推荐:jQuery 设计思想, jQuery 最佳实践. jQuery 是 DOM 操作类库,其核心功能是找到 DOM 元素并对其进行操作. 拿 jQuery 与 YUI, Dojo 等框架相比是不公平的,就如拿轮胎和汽车相比一样.

Javascript模块化编程(一):模块的写法

- - 阮一峰的网络日志
随着网站逐渐变成" 互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等......开发者不得不使用软件工程的方法,管理网页的业务逻辑. Javascript模块化编程,已经成为一个迫切的需求. 理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块.