nginx的master和worker进程之间的关系,就像是坐台的“***”与“老鸨”之间的关系。

假如说一个妓院有多名***,而管理每个***的老鸨只有一个,其中老鸨负责对外招揽业务,而***负责干活(处理业务),如果一个***接待不完这些客人,老鸨会把随后的客人交给其他的***去接待。

  在这里,老鸨就属于master进程,客户端所有的请求都是由master来接收,***呢,就相当于woker进程,(真正处理客户端请求的是下面这些woker进程)。


那么在生产环境下要如何设置woker进程的数量呢?

在有多个cpu的情况下,可以设置多个worker,woker进程的数量可以设置到和cpu的核数一样多(这句话是nginx的原作者说的),如果在单个cpu上起了多个worker进程,那么,操作系统会在多个woker之间进行调度,这种情况会降低系统性能,如果只有一个cpu,那么只启动一个woker进程就可以了。