`
lp895876294
  • 浏览: 284729 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ngnix的平滑重启

 
阅读更多

在研发过程中,修改nginx的配置文件nginx.conf是很平常的事,需要重启nginx。如果我们直接reload是有一定风险的,我们可以通过发送系统信号给nginx主进程的方式来进行。

 

第一步:确认nginx配置文件的语法是否正确,否则nginx将不会加载新的配置文件。

如果出现这样的信息说明配置文件是正确的。

 

第二步:平滑重启

kill -HUP nginx进程号

kill -HUP ''/var/run/nginx.pid"

当nginx接收到HUP信号时,它会尝试先解析配置文件(如果指定文件,就使用指定的,否则使用默认的),如果成功,就应用新的配置文件(例如:重新打开日志文件或监听的套接字),之后,nginx运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务,所有客户端的服务完成后,旧的工作进程就关闭,如果新的配置文件应用失败,nginx再继续使用早的配置进行工作。

平滑重启之后,nginx master进行没有改变,只是重建了worker进程。


HUP命令和nginx -s reload命令实现的功能是一样的。

   

 

补充内容:nginx的几种信号

TERM,INT 快速关闭

QUIT 从容关闭

HUP 平滑重启,重新加载配置文件

USR1 重新打开日志文件,在切割日志时用途较大

USR2 平滑升级可执行程序

WINCH 从容关闭工作进程

  • 大小: 33.3 KB
  • 大小: 50.5 KB
分享到:
评论

相关推荐

    nginx 平滑重启的实现方法

    在Linux环境下,Nginx平滑重启通常通过发送特定的信号给Nginx主进程来实现。主要有以下两个步骤: 1. **发送USR2信号**:使用`kill -USR2`命令发送USR2信号给旧的主进程,这会导致旧主进程创建一个新的主进程和工作...

    nginx 平滑重启与升级的实现方法

    如果改变了Nginx的配置文件(nginx.conf),想重启Nginx,同样可以通过发送系统信号给Nginx主进程的方式来进行.不过,重启之前,要确认Nginx配置文件(nginx.conf)的语法是正确的,否则Nginx将不会加载新的配置文件...

    windows 注册Nginx为服务,自动重启

    然后,在`events`或`http`块中,可以配置`reload`指令,以便在配置文件改变时平滑重启: ```nginx reload-on-notification on; ``` 最后,确保Nginx服务配置正确无误后,可以使用`nginx.exe -s reload`命令重新...

    windows下Nginx启动、关闭、重启bat工具

    标题中的“Windows下Nginx启动、关闭、重启bat工具”指的是在Windows操作系统中,使用批处理脚本(.bat文件)来管理Nginx服务器的启动、停止和重启操作。这种工具通常由IT专业人士创建,以简化Nginx服务的日常管理。...

    平滑重启使PHP文件有效测试共4页.pdf.zip

    3. **负载均衡**:如果使用了负载均衡器,如HAProxy或Nginx,可以配置它在检测到服务器正在平滑重启时,暂停向旧进程发送新请求,直至新进程准备好接收。 4. **监控与通知**:在整个重启过程中,系统监控和日志记录...

    Nginx 服务器重启关闭重新加载命令

    对于在生产环境中,平滑重启(不中断服务)Nginx的常用方法是发送`HUP`信号给主进程,如`kill -HUP 主进程号`。这会触发Nginx重新加载配置文件,同时新启动的工作进程会接收新的连接,旧的工作进程在处理完当前连接...

    一句简单命令重启nginx

    2. 要查找并杀死Nginx的主进程,可以先运行`ps -aux | grep nginx`来显示所有与Nginx相关的进程,然后找到主进程ID(通常是PID),使用`kill -HUP 主进程ID`发送`HUP`信号(相当于`-s reload`)来平滑重启。...

    (完整版)系统运维工程师笔试题目--答案版.doc.docx

    9. **Nginx平滑重启**:若nginx.pid文件位于'/usr/nginx/logs/nginx.pid'下,平滑重启Nginx的命令是`kill -HUP /usr/nginx/logs/nginx.pid`。 10. **显示所有进程**:在Linux下,使用`ps -aux`命令可以显示所有正在...

    分享一份nginx重启脚本

    如果配置文件错误或资源冲突,平滑重启可能会失败,但 Nginx 不会给出明确的错误提示,导致问题难以定位。 ### 自定义重启脚本(nginx.sh) 为了兼顾配置检查和避免资源冲突,我们可以编写一个自定义的重启脚本,...

    (完整版)系统运维工程师笔试题目--答案版.docx

    9. **Nginx平滑重启**:`kill -HUP`信号用于平滑重启Nginx,完整命令是`kill -HUP /usr/nginx/logs/nginx.pid`。 10. **查看全部进程**:使用`ps -aux`命令可以显示所有运行的进程。 **选择题解析**: 1. 第三段...

    最新运维工程师面试题目整理.doc.pdf

    9. **Nginx平滑重启**:如果Nginx的PID文件位于`/usr/nginx/logs/nginx.pid`,平滑重启的命令通常是`kill -s HUP pid`,其中pid是Nginx主进程的ID。 10. **显示所有进程**:在超级用户下,使用`ps -aux`命令可以...

    系统运维工程师面试题及答案.docx

    9. **Nginx平滑重启**:平滑重启Nginx的命令是`kill -HUP /usr/nginx/logs/nginx.pid`。 10. **显示全部进程**:在超级用户下,使用`ps -aux`命令可以查看系统中所有正在运行的进程。 **选择题知识点** 1. **文件...

    系统运维工程师面试题及答案.pdf

    9. **Nginx平滑重启**:使用`kill -HUP <nginx_pid>`命令可以在不中断服务的情况下重启Nginx。 10. **显示所有进程**:`ps -aux`命令可以列出Linux系统中正在运行的所有进程及其详细信息。 **选择题知识点解析:**...

    Linux中安装Nginx以及启动、关闭和重启命令.pdf

    平滑重启Nginx时,不需要先停止再启动,而是通过发送HUP信号,比如`kill -HUP 主进程号`或`/usr/nginx/sbin/nginx -s reload`,这样Nginx会在不影响现有连接的情况下加载新的配置文件。 配置文件的检查也很重要,...

    详解linux中nginx启动 重启 关闭命令

    本文将详细介绍如何在Linux系统中启动、重启和关闭Nginx服务,以及进行平滑重启和配置文件的检查。 **启动Nginx** 启动Nginx服务器通常使用以下命令,其中`-c`参数指定Nginx配置文件的路径: ```bash nginx -c /...

Global site tag (gtag.js) - Google Analytics