Nginx添加新模块&平滑重启服务

admin Nginx评论309字数 1646阅读模式

一、简要说明

当编译完成后的Nginx需要添加新的模块时,我们需要添加该模块重新编译。
比如我这里的需求是:编译好Nginx后,我需要添加--with-http_v2_module --with-stream模块
所有步骤完成之后,/usr/local/nginx/sbin/nginx -s reload 有可能不生效
最好重启下,Nginx /usr/local/nginx/sbin/nginx -s restart

二、添加步骤

1、查看现有Nginx的安装版本和已编译的参数

# 进入Nginx的安装目录
$ cd /usr/local/nginx/sbin 
# 查看现有Nginx的版本和已编译的参数
$ ./nginx -V

Nginx添加新模块&平滑重启服务

2、在官方下载相对应的版本

https://nginx.org/en/download.html

Nginx添加新模块&平滑重启服务

 3、带上新模块重新编译

# 进入刚下载解压出来的Nginx安装目录
$ cd /data/soft/nginx-1.20.1
 
# 带上新模块重新编译
$ ./configure --prefix=/usr/local/nginx/ --sbin-path=/usr/local/nginx/sbin/ --with-http_ssl_module --with-http_v2_module --with-stream --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --http-fastcgi-temp-path=/usr/local/nginx/fastcgi_temp --http-client-body-temp-path=/usr/local/nginx/client_body_temp --http-proxy-temp-path=/usr/local/nginx/proxy_temp --http-uwsgi-temp-path=/usr/local/nginx/uwsgi_temp --http-scgi-temp-path=/usr/local/nginx/scgi_temp
 
# 编译 注意:这里只有make,一定不要手贱顺手执行了make install,不然会覆盖安装的
$ make

Nginx添加新模块&平滑重启服务

三、平滑重启

上一步执行完成后,会在当前目录下生成objs目录,其中的nginx文件即为新的二进制文件

Nginx添加新模块&平滑重启服务
1、备份原来的Nginx文件

# 进入Nginx的原安装目录
$ cd /usr/local/nginx/sbin 
# 备份原Nginx运行脚本文件
$ cp -rf nginx nginx_bak

2、替换nginx二进制文件

$ cp -f /data/soft/nginx-1.20.1/objs/nginx /usr/local/nginx/sbin/nginx

3、正确性检查

$ /usr/local/nginx/sbin/nginx -t

Nginx添加新模块&平滑重启服务

4、重新Reload Nginx

$ /usr/local/nginx/sbin/nginx -s reload

5、查看最终编译的新模块

$ /usr/local/nginx/sbin/nginx -V

需要添加--with-http_v2_module --with-stream模块已成功加上

Nginx添加新模块&平滑重启服务

6、重新加载Nginx

$ /usr/local/nginx/sbin/nginx -s reload

特别注意:重新编译了Nginx,只是/usr/local/nginx/sbin/nginx -s reload 新增加模块不会生效,但Nginx新增的配不会生效。这个折腾了很久,一直以为配置问题。如果不生效,确保不想要业务的情况下,可以把一台Nginx节点下线,使用 /usr/local/nginx/sbin/nginx stop停止后,再重新启动Nginx。

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
admin
  • 本文由 发表于 2023年2月6日 21:10:49
  • 转载请务必保留本文链接:https://www.58pxe.com/9982.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: