Nginx进阶

Yuan.Sn

这篇文章我们不会谈nginx的用法,我们会来谈谈 何为Nginx,它是怎么运行的,运行的特性是什么

先来介绍下Nginx运行的FEATURES

维持Nginx最基本的程序——master && workers 进程

NGINX的运行依靠 一个master,以及很多个workers进程master进程的主要作用就是读写并且验证配置文件(nginx.conf)的正确性。那wokers呢?其实他是master的“小弟”,受着master进程所控制,并且所有的nignx服务都是通过wokers维系起来的,通过wokers处理他们的请求。master判断完配置文件后,根据配置文件的正确性,选择性地叫workers进程进行更新。
当然,workers的数量是可以人为控制的,就在nginx.conf顶部的

worker_processes auto;

字段中,但它默认值为 auto,会自动根据你服务器核心数量、硬盘io情况等,自动配置workers的数量,一般都不更改。

一个master操纵workers的例子

当你修改了 nginx.conf 配置文件后,直接启 Nginx 服务会导致所有连接中断。Nginx 提供了优雅的热重载方式,只需执行:

1
nginx -s reload

这条命令会叫 master 进去重新加载配置。
master 收到信号后,先会检查新配置的语法是否正确。

  • 如果配置无误,master 会启动新的 worker 进程,并通知旧的 worker 进程退出。

  • 如果配置不对,master 会回滚,继续使用旧配置。

Comments