Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号

 

五、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

 

原文地址:https://www.cnblogs.com/kayvan/p/3977604.html