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 nginx

我们可以看到备注信息为“master process”它表示主进程。为“worker”的是子进程。

如果在nginx.conf中指定了pid文件存放路径,则该文件存放的就是nginx的主进程号。如果没有指定,则默认存放在Nginx安装目录的log目录下。所以我们还可以这样做:

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

nginx支持以下几种信号:

TERM,INT :快速关闭

QUIT:从容关闭

HUP:平滑启动

USR1:重新打开日志文件

USR2:平滑升级可执行程序

EINCH:从容关闭工作进程

(1)从容停止nginx

    kill -QUIT Nginx 主进程号

(2)快速停止Nginx

kill -TERM Nginx主进程号

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

pkill -9 nginx

Nginx的平滑启动

kill -HUP nginx主进程号

nginx平滑升级

当需要将正在运行的nginx升级、添加/删除服务器模块时,可以在不中断的情况下使用新版本、重编译的nginx可执行程序替换旧版本的可执行程序。步骤如下:

(1)备份旧的可执行程序

(2)发送以下指令

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

(3)旧版本的nginx的主进程将重命名他的pid文件为.oldbin。然后执行新版本的nginx可执行程序。依次启动新的主进程和新的工作进程。

(4)此时新旧版本的nginx会同时运行,共同处理输入请求。要逐步停止旧版本的nginx实例,需要发送WINCH信号给旧的主进程,然后他的工作进程就从容关闭:

kill -WINCH 旧版本的主进程号

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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-28 13:58:45

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

​Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级!

Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级 注意:我这里使用lamp搭建wordpress使用的全部都是rpm安装,如果有想要学习编译安装的朋友,可以参考另外一位午饭的博客,我安装wordpress也是参考他的内容,贴上他的地址: http://dreamfire.blog.51cto.com/418026/197595 操作系统全部使用centos6.6 注意:这里只列出了node3的配置过程,node2配置过程与node3完全一致!!! [[e

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

常用软件平滑启动方式

1)apache 平滑启动 xx/apache/bin/apachectl graceful 2) nginx 平滑启动(包括php-fpm的reload) xx/nginx/sbin/nginx -s reload 3) nfs 网络服务 /etc/init.d/nfs reload

CentOS 6.4 php-fpm 添加service 添加平滑启动/重启

nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我们就来看一篇php-fpm平滑启动并配置服务例子. 我的php是源码安装的.php-fpm在PHP 5.3.2以后的版本不支持以前的php-fpm (start|restart|stop|reload) ,那么如果将php-fpm配置成服务,并添加平滑启动/重启. 配置php-fpm.conf(vi

nginx启动停止命令

操作环境是Windows 一.nginx命令:启动nginx 在Windows上安装好nginx后,我们需要启动nginx服务,启动nginx服务的命令行操作主要有两种方式,即 cd D:\opensource\nginx-1.10.1        nginx.exe 或者 cd D:\opensource\nginx-1.10.1 start nginx 启动nginx命令说明:需要注意,由于nginx默认端口也是80端口,如果此时你的机器上开启了Apache或者IIS服务,切忌在启动ngi

Linux下启动,停止,重启Nginx、Mysql、PHP

LINUX启动Nginx的命令: 一.查询是否启动 [[email protected] php-fpm.d]# ps -ef | grep nginx root 25225 1 0 19:26 ? 00:00:00 nginx: master process /app/nginx/sbin/nginx www 25229 25225 0 19:26 ? 00:00:00 nginx: worker process root 25247 19431 0 19:30 pts/0 00:00:00

mysql启动停止,一台服务器跑 多个mysql数据库

一.以非特权用户运行MySQL服务器在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它, 服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行:如果你用su命令切换到root,然后运启动服务器,则它以root运行.然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导

Nginx使用(配置开机启动)

环境: 系统:CentOS 6.5 Final 安装目录:/usr/local/nginx Nginx开机自启: ①编写shell实现控制 vi /etc/init.d/nginx 添加内容: #!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0.0.2 version. # chkconfig: - 85 15 # description: Nginx is a high-performance web

搭建heartbeat运行后发现nginx及VIP不能正常启动

问题简介 搭建heartbeat运行后发现nginx及VIP不能正常启动,在查看日志后发现nginx已经启动了但是随后有停止了,通过错误日志上的错误我想了半天在重启nginx时发现80端口被占用,随后查看进程发现tomcat占用了80端口,在停止掉tomcat后并重启heartbeat服务后发现问题解决,通过这件事要学习到今后学习及工作中一定要细心,不要因为低级的错误导致工作效率的降低!同时也说明了自己的经验不足,所以在以后的日子还要努力学习! [[email protected] ha.d]#