nginx不停服务安装新模块,以nginx_upstream_check_module-master为例

#没有nginx源码包的可官网重新下载“对应版本”的源码包
#download site:http://nginx.org/en/download.html
#第三方模块补丁包推荐github下载,注意与“nginx版本”相一致
#如阿里的自检模块nginx_upstream_check_module-master,download site:https://github.com/yaoweibin/nginx_upstream_check_module 

#查看nginx版本号 
sudo nginx -v 

sudo cd nginx源码根路径

#注意补丁包的存放位置,安装后尽量不要删除(养成良好的文件管理习惯,方便后期再使用。具体能否删除,搞明白diff和patch你就有答案了)
#使用p1是因为补丁包基本都是从根路径开始的,现在进入了根路径,应该排除根路径 
sudo patch -p1 <./nginx_upstream_check_module-master/check_1.16.1+.patch

#查看nginx配置信息
sudo nginx -V

#将新模块加入配置信息 --add-module=/www/server/nginx/src/nginx_upstream_check_module-master
sudo ./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-http_v2_module --add-module=/www/server/nginx/src/nginx_upstream_check_module-master 

#只编译,不安装,否则原先安装的模块被覆盖 
sudo make

#备份老版nginx
sudo cp /www/server/nginx/sbin/nginx /www/server/nginx/sbin/nginx_bak

#替换旧版nginx
sudo cp -f ./objs/nginx /www/server/nginx/sbin/

#查找nginx进程文件
sudo find / -name nginx.pid

#平滑升级新版本,新旧版本同时运行
sudo kill -USR2 `cat /www/server/nginx/logs/nginx.pid` 

#确认新版本进程启动:出现.oldbin的文件
sudo ll /www/server/nginx/logs/

#线程平滑转移到新版本
sudo kill -WINCH `cat /www/server/nginx/logs/nginx.pid.oldbin` 

#关闭旧版本
sudo kill -QUIT `cat /www/server/nginx/logs/nginx.pid.oldbin`

#nginx_upstream_check_module-master心跳检测,新手建议使用tcp协议。单纯检测tcp握手情况,使用简便。
#http协议需要被检测应用中有相应的基于http协议的检测接口,且配置较复杂,否则会出现检测失败,节点被踢掉,服务停止对外访问的风险
#tcp、http各有优劣,根据实际情况择优选择
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值