nginx 的热配置,配置立即生效命令 nginx -s reload 详解

SQL herman 4517浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

nginx 在大中型互联网公司中曾在这普遍使用的现象。在中国开发往往需要做一些运维的工作,如果你对一些命令不懂或者稍不小心,安全事故就会成安全故事!

跟我一起学 nginx,让低薪水成为过去式吧!

在 nginx 中,如果我修改了一个配置文件,或者新增了一个配置文件。按照群里网友的描述,我需要关闭 nginx,或者重启 nginx,比较麻烦,而且这个过程中会中断服务的提供。那么有没有热配置,或者是不重启就可以生效呢?

答案当然是有的。那就是使用 nginx -s reload 命令。

-s 代表的是向主进程发送信号。其中信号有 4 个,stop, quit, reopen, reload。

reload 就是重新加载的意思。nginx -s reload 命令,合起来的作用就是重新加载配置文件。

下面一起看一个例子:

vi nginx.conf
# 将 tcp_nopush on; 前面的注释去掉,放开注释
# 然后保存编辑
nginx -s reload

这样就可以做到不停服务,平滑的更新 nginx 的配置文件。这样做的好处就是客户体验好,比如我正在数据传输,如果你这时重启 nginx,可能就会造成数据丢失。这个时候,我们就可以温柔的采用 nginx -s reload 命令加载配置文件。

在比如,我们的负载均衡,灰度发布,热部署。都可以采用修改配置的这种方式进行。

假设我现在有两台机器,A 和 B。那么我们就可以通过更改配置,proxy_pass http://A; 或 proxy_pass  http://B; 做到热部署。通过更改配置文件,切换请求流量,完成服务发布。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » nginx 的热配置,配置立即生效命令 nginx -s reload 详解