Mac为nginx安装nginx-sticky-module
Mac为nginx安装nginx-sticky-module
nginx版本: nginx-1.9.8
nginx-sticky-module版本:nginx-sticky-module-ng
*注意产品环境请慎用!
参考来源:
使用nginx sticky模块实现基于cookie的负载均衡
下载
很多网站介绍sticky_module的来源和版本都不太一样,我尝试了下面来自于github上从google搬过去的1.0版本,和bitbucket.org的ng版本
https://github.com/lusis/nginx-sticky-module
.
https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng
.
当然还有google版本
http://nginx-sticky-module.googlecode.com/files/nginx-sticky-module-1.1.tar.gz
目前共有2个版本,一个是1.0,一个是1.1,1.0已经寿终正寝了。1.1增加了权重的参数。
安装
先尝试github上clone的版本
* make 的时候会出现错误,可能是由于和我自己当前的nginx版本太高相关:
/Users/Richard/Documents/Dev/github/nginx-sticky-module/ngx_http_sticky_module.c:335:21: error:
incompatible integer to pointer conversion assigning to
'ngx_http_upstream_rr_peer_t *' (aka 'struct ngx_http_upstream_rr_peer_s
*') from 'int' [-Werror,-Wint-conversion]
iphp->rrp.current = iphp->selected_peer;
^ ~~~~~~~~~~~~~~~~~~~
/Users/Richard/Documents/Dev/github/nginx-sticky-module/ngx_http_sticky_module.c:342:19: error:
variable 'n' may be uninitialized when used here
[-Werror,-Wconditional-uninitialized]
iphp->rrp.tried[n] |= m;
^
/Users/Richard/Documents/Dev/github/nginx-sticky-module/ngx_http_sticky_module.c:267:33: note:
initialize the variable 'n' to silence this warning
ngx_uint_t n, i;
^
= 0
/Users/Richard/Documents/Dev/github/nginx-sticky-module/ngx_http_sticky_module.c:342:25: error:
variable 'm' may be uninitialized when used here
[-Werror,-Wconditional-uninitialized]
iphp->rrp.tried[n] |= m;
^
/Users/Richard/Documents/Dev/github/nginx-sticky-module/ngx_http_sticky_module.c:266:33: note:
initialize the variable 'm' to silence this warning
uintptr_t m;
^
= 0
3 errors generated.
make[1]: *** [objs/addon/nginx-sticky-module/ngx_http_sticky_module.o] Error 1
make: *** [build] Error 2
再尝试nginx.com上推荐的bitbucket.org版本
先clone
$ git clone https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng.git
./configure将目标路径指向当前的nginx实例
$ ./configure --prefix=/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a --add-module=/Users/Richard/Documents/Dev/github/nginx-sticky-module-ng
然后make && sudo make install
一切正常
...
test -d '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/logs' || mkdir -p '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/logs'
test -d '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/logs' || mkdir -p '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/logs'
test -d '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/html' || cp -R html '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a'
test -d '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/logs' || mkdir -p '/Users/Richard/Documents/Dev/servers/cluster/nginx/node-a/logs'
结束
Mac为nginx安装nginx-sticky-module的更多相关文章
- mac无坑安装nginx
mac无坑安装nginx 首先需要mac下有一个缺失的软件包的管理器------->homebrew 1.打开终端输入 brew update 说明homebrew已经安装好了 2.继续执行以下 ...
- Mac Pro 编译安装 Nginx 1.8.1
#下载相关源码包,统一放到 /usr/local/src 目录下: http://nginx.org/download/nginx-1.8.1.tar.gz http://zlib.net/zlib- ...
- Mac使用brew安装nginx,并解决端口访问权限问题
1.安装 brew install nginx 2.修改配置文件 sudo vi /usr/local/etc/nginx/nginx.conf 修改默认的8080端口为80 修改日志文件地方 err ...
- 在 Mac OSX 上安装 nginx
今天在使用 brew 安装 nginx 时,提示错误,安装不上去: brew install nginx, 提示:/usr/local is not writable. 这个是需要修改 /usr/lo ...
- Mac使用brew安装nginx,并解决端口80访问权限问题
1.安装 brew install nginx 2.修改配置文件 sudo vi /usr/local/etc/nginx/nginx.conf 修改默认的8080端口为80 修改日志文件地方 err ...
- Mac OSX上安装Nginx
1. 通过brew instal nginx安装 ==> Downloading https://homebrew.bintray.com/bottles/nginx-1.10.1.el_cap ...
- Nginx——安装Nginx(二)
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. gcc 安装 安装 nginx 需要先将官 ...
- mac 使用 brew 安装 nginx 及各种命令
一.安装 brew install nginx 或 sudo brew install nginx 二.启动 brew services start nginx 或 sudo brew service ...
- nginx安装 nginx: [emerg] getpwnam(“www”) failed 错误
inux 64系统中安装nginx1.3时如果出现错误:nginx: [emerg] getpwnam(“www”) failed解决方法1: 在nginx.conf中 把user nobo ...
- Mac下用brew安装nginx
1. nginx nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TC ...
随机推荐
- Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2)
Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2) (一) 增长函数(Growth function) ...
- C# 小叙 Encoding (一)
前言 众所周知计算机只能识别二进制数字,如1010,1001.我们屏幕所看到的文字,字符都是和二进制转换后的结果.将我们的文字按照某种规则转换二进制存储在计算机上,这一个过程叫字符编码,反之就是解码. ...
- 关于JavaScript中Get/Set访问器
有时候大家可能会纳闷,在使用JavaScript的时候,只需要给一个系统变量赋值就可以触发一系列操作去相应. 但是我们在写Js的时候,修改了一个自定义变量,却连个P都没有.是不是很郁闷呢? 其实,我们 ...
- Android清空Fragment回退栈
啊= =:国内的资料为什么都是抄来抄去的. 最后上了Stack Overflow才找到了正解. FragmentManager fragmentManager = getFragmentManager ...
- python练习笔记——完全数(1000以内的)
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数为“完 ...
- 使用Apktools反编译apk应用
使用Apktools反编译apk应用 1.获取APK的classes.dex文件: 得到你想要的应用的apk文件,用解压软件打开apk,从apk中复制出classes.dex文件. 2.classes ...
- Python center() 方法
描述 center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格. 语法 center() 方法语法: S.center(width[,fillch ...
- debian系在线安装软件apt-get命令族
一.背景 apt-get install/remove在线安装/卸载文件真是方便极了. 但是有时候安装/卸载文件不清楚文件在服务器上的实际命名,例如想安装sndfile.应该执行下面哪个命令呢? ap ...
- SQL 语句递归查询 With AS 查找所有子节点
create table #EnterPrise ( Department nvarchar(50),--部门名称 ParentDept nvarchar(50),--上级部门 Depar ...
- Dom4j解析和sax解析xml
xml基础知识 1)标签对大小写敏感,2)xml解析方式有两种dom解析和sax解析 3)常用的解析工具有dom的dom4j和sax的sax解析工具 4)文档声明中使用<?xml versio ...