博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx的启动、停止、平滑重启
阅读量:6989 次
发布时间:2019-06-27

本文共 1719 字,大约阅读时间需要 5 分钟。

hot3.png

一、Nginx 的启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    参数 "-c" 指定了配置文件的路径,如果不加 "-c" 参数,Nginx 会默认加载其安装目录的 conf 子目录中的 nginx.conf 文件,在本例中即:/usr/local/nginx/conf/nginx.conf。

 

二、Nginx 的停止

 

可以通过 ps 命令来查找 Nginx 的主进程号:

ps -ef|grep nginx

从图中可以看到,1 个 Nginx 进程的备注信息为 “master process”,表示它为主进程,另外的 2 个进程的备注信息为 “worker process”,表示它们为子进程。3781为主进程号。

如果在 nginx.conf 配置文件中指定了 pid 文件存放的路径 (例如:/usr/local/webserver/nginx/nginx.pid;),该文件中存放的就是 Nginx 当前的进程号。如果没有指定 pid 文件存放的路径,nginx.pid 文件默认存放在 Nginx 安装目录的 logs 目录下。所以,我们可以直接通过以下命令来完成命令来完成停止,省下寻找 Nginx 主进程号的步骤:

kill -信号类型 `cat /usr/local/webserver/nginx/nginx.pid`

(1) 从容停止 Nginx

kill -QUIT Nginx主进程号

kill -QUIT `cat /usr/local/webserver/nginx/nginx.pid`

 

(2) 快速停止 Nginx

kill -TERM Nginx主进程号kill -TERM `cat /usr/local/webserver/nginx/nginx.pid`

kill -INT Nginx主进程号kill -INT `cat /usr/local/webserver/nginx/nginx.pid`

 

(3) 强制停止所有 Nginx 进程

pkill -9 nginx

 

三、Nginx 的平滑重启

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

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

    如果配置文件不正确,屏幕将会提示配置文件的第几行出错;

    如果配置文件正确,屏幕将提示以下两行信息:

    

     这时候,就可以平滑重启 Nginx 了。

 

kill -HUP Nginx主进程号

    或

kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`

 

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

 

四、Nginx 的信号控制

        在上一节中,我们使用了信号来控制 Nginx 停止、平滑重启,Nginx 支持以下几种信号:

  • TERM,INT 快速关闭;
  • QUIT 从容关闭;
  • HUP 平滑重启,重新加载配置文件;
  • USR1 重新打开日志文件,在切割日志时用途较大;
  • USR2 平滑升级可执行程序;
  • WINCH 从容关闭工作进程。

 

转载于:https://my.oschina.net/u/923772/blog/707000

你可能感兴趣的文章
JQUERY学习第三天之浮动和弹出窗口
查看>>
python中asynchat异步socket命令/响应处理
查看>>
动态编译
查看>>
linux下批量解压缩
查看>>
一个AD结构引发的Exchange DAG部署问题
查看>>
使用xcopy进行日增量备份
查看>>
我的友情链接
查看>>
知之者不如好之者,好之者不如乐之者
查看>>
测试Application.Idle
查看>>
sizeof与strlen的区别与联系
查看>>
我的友情链接
查看>>
数组名取地址以及数组名作为sizeof操作符的操作数
查看>>
Citrix发布支持Framehawk技术的HDX协议,用户体验优势进一步扩大
查看>>
Android各种访问权限Permission详解
查看>>
asp.net 页面生命周期
查看>>
什么是钩子函数?
查看>>
Linux命令(基本)
查看>>
实战Active Directory站点部署与管理,Active Directory系列之十二
查看>>
信息和知识
查看>>
7.2 函数的参数
查看>>