五、Nginx服务、架构及其信号
(1)Nginx服务的查看
1.netstat -antp 查看Nginx是否在80端口运行:
2.ps aux|grep nginx 查看nginx相关进程:
发现如图Nginx开启了2个或以上的进程,分别是一个主进程(Master process)和一个或多个子进程(Worker process)。
由此可知,Nginx有一个主进程文件,用于管理和影响(如关闭) 4 ~ 8个子进程,浏览器请求则由子进程来负责。
Nginx worker模型如下:
主进程负责执行以下任务:
- 读取并验证配置
- 创建,绑定并关闭套接字
- 开始、终止并保持配置中的work进程数目
- 在线重新配置
- 在线升级
- 重新打开日志文件
- 编译内嵌的Perl脚本
Worker进程接受、处理来自客户端的连接,并提供反向代理和过滤功能以及几乎所有其它nginx能够完成的任务。
为了监控一个Nginx接口,系统管理员应该对worker进行监控,因为它们是反应了实际中Web服务器的日常操作过程。
(2)Nginx信号控制
Nginx使用信号来控制Nginx停止、平滑重启等, 主要有以下一些信号量:
TERM, INT |
Quick shutdown 快速关闭 |
QUIT |
Graceful shutdown 平滑关闭进程,即等请求结束后再关闭 |
HUP |
Configuration reload ,Start the new worker processes with a new configuration Gracefully shutdown the old worker processes 改变配置文件,平滑的重读配置文件并重启 |
USR1 |
Reopen the log files 重读日志,在日志分割时有用 |
USR2 |
Upgrade Executable on the fly 平滑的升级 |
WINCH |
Gracefully shutdown the worker processes 从容关闭旧的进程(配合USR2来进行升级) |
信号使用示例:
通过使用INT信号(kill -INT 进程号)发现nginx进程已被关闭
另一种方法,可以使用Nginx进程文件代替进程号:
(3)Nginx相关指令
使用如下命令查看Nginx自带指令:
可以发现yum方式安装的Nginx默认程序文件是/usr/sbin/nginx,Nginx自带多个常用命令,这里以 -s参数运用举例:
(本文由kayvan编辑发表,内容主要收集于互联网,转载请注明出处:http://www.cnblogs.com/kayvan)