nginx添加fair模块

记录一下nginx添加fair负载均衡的功能
上一章中已经采用编译的方式安装了nginx,并添加了ssl模块
1.下载地址:nginx-upstream-fair

解压:

unzip nginx-upstream-fair-master.zip
本人是上传到/home/emeet/目录下
2.切换到nginx-1.13.2目录下执行

sudo ./configure --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/logs/nginx.pid  --add-module=/home/emeet/nginx-upstream-fair-master  --with-http_ssl_module

目录一定和本地文件对应好,此处还有一坑是之前添加的ssl模块,添加fair的时候要重新加入,不然会被覆盖掉,本人测试是这样,如果之前有加入其它模块也要同时加入。

此步骤可能出现异常:

nginx-upstream-fair/ngx_http_upstream_fair_module.c:543:28: error: ‘ngx_http_upstream_srv_conf_t’ has no member named ‘default_port’
if (us->port == 0 && us->default_port == 0) {

解决办法是:
参考:http://www.mamicode.com/info-detail-89267.html
到nginx的src/http/ngx_http_upstream.h文件找到ngx_http_upstream_srv_conf_s结构添加in_port_t default_port;
在这里插入图片描述重新执行一遍上一步骤,没有错误之后,执行

sudo make

不要执行make install,会覆盖安装。

最后复制Nginx文件:
复制之前先备份旧的nginx程序

cp /usr/local/nginx/sbin/nginx     /usr/local/nginx/sbin/nginx.bak

然后复制
sudo cp objs/nginx /usr/local/nginx/sbin/nginx

如果提示“cp:cannot create regular file/usr/local/nginx/sbin/nginx’: Text file busy”`

建议使用如下语句cp

sudo cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

如图,在nginx.conf中添加fair负载

upstream webserver{
	fair;
	server xx.xxx.xx.xx:443 max_fails=2 fail_timeout=2s;
	server xxx.xxx.xx.xxx:443 max_fails=2 fail_timeout=2s;
}

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190731195652421.png
使用 sudo /usr/local/nginx/sbin/nginx -t 检查是否正确。
reload 即可。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值