Nginx的启动、停止、平滑重启

在Linux下,Nginx服务的主要操作就是启动、停止和重启。

1.Nginx的启动:

如果nginx安装在/usr/local/nginx/ 目录中,那么启动nginx的命令就是:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  #"-c"指定了配置文件的路径,如果不加该参数,Nginx会默认加载其安装目录的conf子目录中的nginx.conf文件。

2. Nginx的停止:

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

ps -ef | grep nginx

(1) 从容停止
kill -QUIT Nginx 主进程号

kill -QUIT `/usr/local/nginx/logs/nginx.pid`

(2)快速停止
kill - TERM Nginx 主进程号
kill - TERM `/usr/local/nginx/logs/nginx.pid`

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

(3)强制停止所有Nginx进程
pkill -9 nginx

3. Nginx的平滑重启

如果改变了Nginx的配置文件(nginx.conf),重启之前需要确认(nginx.conf)的语法是否正确,否则nginx将不会加载新的配置文件,通过以下命令可以判断新的配置文件是否正确:

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

如果正常,即可平滑重启nginx

kill -HUP Nginx 主进程号
kill -HUP `/usr/local/nginx/logs/nginx.pid`

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

4. Nginx的信号控制

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

5. Nginx的平滑升级

(1)使用新的可执行程序替换旧的可执行程序,对于编译安装的Nginx,可以将新版本编译安装到旧版本的Nginx安装路径中。替换之前,需要备份下旧的可执行文件。

(2)发送以下指令:

kill -USR2 旧版本的Nginx主进程号

(3)旧版本Nginx的主进程将重命名它的 .pid文件为 .oldbin(例如:/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新版本的Nginx可执行程序,依次启动新的主进程和新的工作进程。

(4)此时,新旧版本的Nginx实例会同时运行,共同处理输入的请求。要逐步停止旧版本的Nginx实例,你必须发送WINCH信号给旧的主进程,然后,它的工作进程就将开始从容关闭:
kill -WINCH 旧版本的Nginx主进程号

(5)一段时间后,旧的工作进程处理了所有已连接的请求后退出,仅有新的工作进程来处理输入的请求了;

(6)这时候,我们可以决定是使用新版本还是恢复到旧版本;(以下是恢复到旧的版本)

kill -HUP 旧的主进程号  #Nginx将在不重载配置文件的情况下启动它的工作进程;
kill -QUIT 新的主进程号 #从容关闭其它工作进程;
kill -TERM 新的主进程号 #强制退出

时间: 2024-10-10 09:41:55

Nginx的启动、停止、平滑重启的相关文章

nginx重启 平滑重启

进入 ngiinx sbin目录下./nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径 停止操作停止操作是通过向nginx进程发送信号来进行的 步骤1:查询nginx主进程号 ps -ef | grep nginx在进程列表里 面找master进程,它的编号就是主进程号了. 步骤2:发送信号 从容停止Nginx:kill -QUIT 主进程号  例如:kill -QUIT 16391 快速停止Nginx:kill -

linux下nginx启动停止重启控制脚本

这是控制nginx服务的脚本文件,包括控制nginx的启动.重启.停止.平滑重启.对配置文件的额检查. [[email protected] ~]# cat nginx.sh #!/bin/env bash # description:nginx server   ###必须加描述 # nginx - this script is used to control nginx service # processname nginx # chkconfig: - 85 15 # edit by su

linux系统下nginx/mysql/php启动、停止、重启命令

linux系统下关于nginx.mysql.php等的启动.停止和重启命令. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 /usr/local/nginx/sbin/ngi

nginx 的停止和平滑重启

Nginx的停止 停止操作是通过向nginx进程发送信号来进行的步骤1:查询nginx主进程号ps -aux | grep nginx在进程列表里 面找master进程,它的编号就是主进程号了.步骤2:发送信号从容停止Nginx:kill -QUIT 主进程号快速停止Nginx:kill -TERM 主进程号强制停止Nginx:pkill -9 nginx另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下.有了

nginx启动,停止,重启

Nginx的启动.停止与重启 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [[email protected] sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 停止 nginx的停止有三种方式: 从容停止 1.查看进程号 [[email protected] ~]# ps -ef|grep nginx 2.杀死进程 [[email protected] ~]# ki

3)nginx的启动与停止、重启

[启动] 启动代码格式:nginx安装目录地址 -c nginx配置文件地址例如: [[email protected] sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf [停止]nginx的停止有三种方式: 从容停止 1.查看进程号[[email protected] ~]# ps -ef|grep nginx 2.杀死进程[[email protected] ~]# kill -QUIT 2072 快

nginx 在ubuntu 上的启动,停止,重启

vi 显示行号 :set num 在开始玩nginx之前,得先安装nginx,可以参考 <ubuntu15.10_x64 安装 nginx>   启动 sudo /usr/local/nginx/sbin/nginx  -c /usr/local/nginx/conf/nginx.conf   停止 ps –ef|grep nginx master 为nginx主进程,找到对应进程号kill掉 kill有三种 :   第一种    kill –QUIT nginx的master进程号     

Nginx的启动、关闭和平滑重启

在完成对nginx.conf文件的配置后,就可以启动服务了.Nginx自身提供了一些用于日常维护的命令,下面进行详细的介绍. 1. Nginx基本信息检查 (1)检查Nginx配置文件的正确性 Nginx提供的配置文件调试功能非常有用,可以快速定位配置文件存在的问题.执行如下命令可检测配置文件的正确性: /opt/nginx/sbin/nginx –t 或者 /opt/nginx/sbin/nginx -t -c /opt/nginx/conf/nginx.conf 其中,"-t"参数

Nginx的启动、停止、平滑启动、平滑升级

Nginx的启动 启动nginx,可以执行一下命令(默认安装位置): /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 参数"-c"指定了配置文件的路径,如果不加,则Nginx会默认加载其安装目录的conf子目录中的ngin.conf Nginx的停止 nginx的停止方法有很多种,一般是发送系统信号给nginx主进程来停止nginx. 我们通过ps命令来查找nginx的主进程号 ps -ef |grep n