Nginx进阶
这篇文章我们不会谈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