Nginx 启动重启关闭程序升级命令介绍 - 文章教程

Nginx 启动重启关闭程序升级命令介绍

发布于 2018-07-27 字数 2756 浏览 1852 评论 0

Nginx 是一个高性能的 HTTP  和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

停止操作

停止操作是通过向 Nginx 进程发送信号来实现的

1、查询 Nginx 主进程号

ps -ef | grep nginx

在进程列表里 面找 master 进程,它的编号就是主进程号了。

2、操作进程

从容停止 Nginx:

kill -QUIT 主进程号

快速停止 Nginx:

kill -TERM 主进程号

强制停止 Nginx:

pkill -9 nginx

另外若在 nginx.conf 配置了 pid 文件存放路径则该文件存放的就是 Nginx 主进程号,如果没指定则放在 Nginx 的 logs 目录下。有了 pid 文 件,我们就不用先查询 Nginx 的主进程号,而直接向Nginx 发送信号了,命令如下:

kill -信号类型 '/usr/nginx/logs/nginx.pid'

平滑重启

如果更改了配置就要重启 Nginx,要先关闭 Nginx 再打开?不是的可以向 Nginx 发送信号,平滑重启。

平滑重启命令:

kill -HUP 住进称号或进程号文件路径

或者使用

/usr/nginx/sbin/nginx -s reload

注意:修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后 Nginx 出现错误影响服务器稳定运行。判断 Nginx 配置是否正确命令如下:

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

或者

/usr/nginx/sbin/nginx -t

平滑升级

如果服务器正在运行的 Nginx 要进行升级、添加或删除模块时,我们需 要停掉服务器并做相应修改,这样服务器就要在一段时间内停止服务,Nginx 可以在不停机的情况下进行各种升级动作而不影响服务器运行。

1、替换文件

如果升级 Nginx 程序,先用新程序替换旧程序文件,编译安装的话新程序直接编译到 Nginx 安装目录中。

2、升级命令

kill -USR2 旧版程序的主进程号或进程文件名

此时旧的 Nginx 主进程将会把自己的进程文件改名为 .oldbin,然后执行新版 Nginx。新旧 Nginx 会同市运行,共同处理请求。

这时要逐步停止旧版 Nginx,输入命令:

kill -WINCH 旧版主进程号

慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的 Nginx 的工作进程会逐渐取代旧版工作进程。

此时,我们可以决定使用新版还是恢复到旧版。

不重载配置启动新/旧工作进程

kill -HUP 旧/新版主进程号

从容关闭旧/新进程

kill -QUIT 旧/新主进程号

如果此时报错,提示还有进程没有结束就用下面命令先关闭旧/新工作进程,再关闭主进程号:

kill -TERM 旧/新工作进程号

这样下来,如果要恢复到旧版本,只需要上面的几个步 骤都是操作新版主进程号,如果要用新版本就上面的几个步骤都操作旧版主进程号就行了。上面就是 Nginx 的一些基本的操作,希望以后 Nginx 能有更好的方法来处理这些操作, 最好是 Nginx 的命令而不是向 Nginx 进程发送系统信号。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

清欢

文章 1 评论 0

贱贱哒

文章 3 评论 0

悸初

文章 2 评论 0

西瓜杏

文章 0 评论 0

各自安好

文章 0 评论 0