惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CERT Recently Published Vulnerability Notes
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Tor Project blog
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Latest news
Latest news
L
LINUX DO - 热门话题
罗磊的独立博客
T
Tenable Blog
The Hacker News
The Hacker News
美团技术团队
N
Netflix TechBlog - Medium
V
Vulnerabilities – Threatpost
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
博客园 - 司徒正美
Jina AI
Jina AI
Cyberwarzone
Cyberwarzone
云风的 BLOG
云风的 BLOG
S
Secure Thoughts
Cloudbric
Cloudbric
S
Security @ Cisco Blogs
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
U
Unit 42
雷峰网
雷峰网
C
CXSECURITY Database RSS Feed - CXSecurity.com
Webroot Blog
Webroot Blog
爱范儿
爱范儿
博客园 - 【当耐特】
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
P
Palo Alto Networks Blog
Google Online Security Blog
Google Online Security Blog
The Last Watchdog
The Last Watchdog
博客园 - 聂微东
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
F
Full Disclosure
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
Project Zero
Project Zero

嵌入式工程猫的博客

使用树莓派 4 和 Moonlight 串流游戏的实践 批量修改 qbittorrent-nox 内种子的 tracker 地址 把 vim 的缩进设为 4 个字符,并且 tab 自动转空格 不用 snap,在 Ubuntu 上安装 certbot 在 Ubuntu 中启用 swap - 嵌入式工程猫的博客 让 Nginx 反向代理的程序获取客户端真实 IP - 嵌入式工程猫的博客 在 Linux 中显示所有正在监听的 TCP 端口 再一次理解 C++ 中的 extern "C" 航模舵机控制及其 PWM 调制的进一步理解 - 嵌入式工程猫的博客 如何自签名带 SAN 字段的 SSL/TLS 证书 深入理解以太网网线原理 - 嵌入式工程猫的博客 FreeBSD vs Linux:哪个开源操作系统更强大 - 嵌入式工程猫的博客 如何在 Markdown 中修改字体颜色 - 嵌入式工程猫的博客 如何在 ESP8266 上选用合适的引脚 - 嵌入式工程猫的博客 如何 DIY 一个苏康码与行程码“双码合一”的健康码 APP - 嵌入式工程猫的博客 我两周就写了三行代码 - ARM Cortex A9 中断与浮点数运算、FPU 问题 随便聊聊最近在本站折腾的那些东西 - 嵌入式工程猫的博客 分享一下我的家庭网络布局 - 嵌入式工程猫的博客 Mapuino - 一个硬件极客风的 WEB 访客地图显示摆件 Topuino - 你愿意在办公桌上放一个监控服务器的小摆件吗? - 嵌入式工程猫的博客
维护 Nginx 时,什么时候应该用 reload,什么时候应该用 restart?
2024-10-06 · via 嵌入式工程猫的博客

本文是“攻玉计划”的一部分,翻译自 https://stackoverflow.com/questions/13525465/when-to-restart-and-not-reload-nginx/20215497

问题描述

使用 Nginx 时,什么情况下 reload 无法满足需求,而必须要使用 restart 命令呢?

如果 Nginx 进程占用了过多内存,是不是应该用 restart 来重启?如果修改了 Nginx 的核心配置,或者某些插件的配置,是不是也需要使用 restart 命令?

修改 Nginx 配置后,用户既可以使用 restart 也可以使用 reload 来使配置生效,见 Ubuntu 上 /etc/init.d/nginx -h 的输出。

那么,哪种方案更优呢?

回答 1

reload 比 restart 更安全,因为如果使用 reload 命令,在旧的进程终止之前,Nginx 会先解析配置文件,如果配置文件有问题,那么就会退出重启流程。

也就是说,如果你的配置文件有问题,比如存在语法错误,那么使用 restart 命令后,Nginx 会先停止,然后就无法再启动了。

reload 命令如果成功执行,同样会终止旧的进程,所以如果存在内存泄漏问题,也一样可以清除掉。

回答 2 & 3

我遇到过一种情形,如果我修改了监听的 IP 地址,也就是配置文件里的 listen 字段,那就必须使用 restart 命令。

从 1.6.x 版本开始,如果仅把监听的 IP 地址从一个改为另一个,那么 reload 可以生效,但如果把监听地址从 listen *:80 修改为 listen x.x.x.x:80,依然需要 restart。

我只验证了 IPv4 的场景,IPv6 应该类似。

译者按:译者今天遇到过一样的问题,我修改了 listen 80; listen 172.0.0.1:80,结果发现 reload 不生效,必须 restart。