Nginx日常维护操作(3)

一、简明nginx常用命令

1. 启动 Nginx

/sbin/nginx

service nginx start

2. 停止 Nginx

/sbin/nginx -s stop

/sbin/nginx -s quit

-s都是采用向 Nginx 发送信号的方式。

3. Nginx 重载配置

/sbin/nginx -s reload

上述是采用向 Nginx 发送信号的方式,或者使用service nginx reload

4. 指定配置文件

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

-c表示configuration,指定配置文件。

 

5. 查看 Nginx 版本

有两种可以查看 Nginx 的版本信息的参数。第一种如下:

  1. /usr/local/nginx$ ./sbin/nginx -v
  2. nginx: nginx version: nginx/1.0.0

另一种显示的是详细的版本信息:

/usr/local/nginx$ ./sbin/nginx -V

nginx: nginx version: nginx/1.0.0

nginx: built by gcc 4.3.3 (Ubuntu 4.3.3-5ubuntu4)

nginx: TLS SNI support enabled

nginx: configure arguments: --with-http_ssl_module --with-openssl=/home/luming/openssl-1.0.0d/

6. 检查配置文件是否正确

/sbin/nginx -t

nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

2012/01/09 16:45:09 [emerg] 23898#0: open() "/usr/local/nginx/logs/nginx.pid" failed (13: Permission denied)

nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

如果出现如上的提示信息,表示没有访问错误日志文件和进程,可以sudo(super user do)一下:

/usr/local/nginx$ sudo ./sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果显示如上,则表示配置文件正确。否则,会有相关提示。

7. 显示帮助信息

/user/local/nginx$ ./sbin/nginx -h

或者:

/user/local/nginx$ ./sbin/nginx -?

以上这些涵盖了 Nginx 日常维护的所有基本操作,另外还有向 master 进程发送信号的相关命令,我们会在下面看到。

二、在Linux下通过master发送信号的相关命令

停止操作

停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的

步骤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 住进称号或进程号文件路径

或者使用代码如下:

nginx -s reload(推荐)

/usr/nginx/sbin/nginx -s reload

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

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

或者nginx -t (推荐)

或/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进程发送系统信号。

时间: 2024-12-16 13:01:54

Nginx日常维护操作(3)的相关文章

nginx日常维护常用命令

一.简明nginx常用命令 1. 启动 Nginx 代码如下: [email protected]:sudo ./sbin/nginx 2. 停止 Nginx 代码如下: [email protected]:sudo ./sbin/nginx -s stop [email protected]:sudo ./sbin/nginx -s quit -s都是采用向 Nginx 发送信号的方式. 3. Nginx 重载配置 代码如下: [email protected]:sudo ./sbin/ngi

MySQL运维之--日常维护操作

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/46697825 一.Linux内核和发行版本 uname -a cat /etc/issue  二.glibc的版本   /lib/libc.so.6    ---没有man函数据的动态链接库   三.MySQL的版本   MySQL二进制分发版的文件名格式为:mysql-VERSION-OS.tar.gz   例如:Linux-Generic(glibc 2.5) (x86,64bit)

primecoin 全节点日常维护操作

查看日志 tail -n 200 debug.log socket recv error Connection reset by peer (104) 通过查看日志发现大量的 socket recv error Connection reset by peer (104) 提示初步认为是恶意节点的破坏性操作,处理步骤如下: 使用 tcpdump 抓取网络包 tcpdump tcp port 9911 -C 1 -w ./9911.cap 如果上面命令返回 Permission denied 查看

mongodb 索引日常维护操作

创建索引:db.t_order_detail.createIndex({"order_id":1})复合索引:db.t_order_detail.createIndex({"order_id":1,"detail_id":1,"batch_id":1})在后台创建索引:db.t_order_detail.createIndex({order_id:1},{background:1})查看索引:db.t_order_detail

ORACLE分区表梳理系列(二)- 分区表日常维护及注意事项(红字需要留意)

版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内容用于商业用途,将保留追究其法律责任的权利.如果有问题,请以邮箱方式联系作者([email protected]). 前言 本文着重总结分区表的日常维护操作以及相应的注意事项. 本文涉及的日常维护内容包括: 增加分区(add) 移动分区(move) 截断分区(truncate) 删除分区(drop)

MHA 日常维护命令集

MHA 日常维护命令集 1.查看ssh登陆是否成功 masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 2.查看复制是否建立好 masterha_check_repl --global_conf=/etc/masterha/masterha_default.conf --conf=/etc/masterha/app1.conf 3.启动mha noh

mha日常维护命令

mha日常维护命令 http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml 1.查看ssh登陆是否成功masterha_check_ssh --conf=/etc/masterha/app1.cnf 2.查看复制是否建立好masterha_check_repl --conf=/etc/masterha/app1.cnf 3.启动mhanohup masterha_manager --conf=/etc/maste

联想教育应用使用说明(7.6版本)——第3章 联想教育应用的日常维护与使用

第3章联想教育应用的日常维护与使用 注意: 1.建议机房管理员不要开放Windows的administrator权限给使用者,以避免使用者破坏联想服务分区. 2.建议机房管理员在计算机正常使用过程中,通过CMOS设置屏蔽硬盘以外的可启动设备,并设置BIOS密码,以免使用者破坏联想服务分区. 3.被保护分区的可用空间就是该分区的可用缓存区,请您确保有足够缓存区以保证软件的正常运行.硬盘保护驱动程序安装完成后,在Windows下将提供给您一个缓存区状态监控工具,您可以随时查看,必要时进行清理. 在图

第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/28904503第三篇--第二部分--第四文 配置SQL Server镜像--非域环境:http://blog.csdn.net/dba_huangzj/article/details/27652857 在搭建的过程中,可能你会遇到比较多的问题,下面介绍一些常见的问题及解决方案,另外把主要精力放到对