1 nginx为什么高性能?

nginx由C语言开发, 以多进程方式工作.
nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程
包含:

  • 接收来自外界的信号,
  • 向各worker进程发送信号,
  • 监控worker进程的运行状态,
  • 当worker进程退出后(异常情况下),会自动重新启动新的worker进程。

2 nginx进程模型

image.png
一个请求,只可能在一个worker进程中处理,
多个worker进程之间是对等的,他们同等竞争来自客户端的请求
master来管理worker进程,所以我们只需要与master进程通信就行了。
master进程会接收来自外界发来的信号,再根据信号做不同的事情
要控制nginx,只需要通过kill向master进程发送信号