【服务器环境搭建-Centos】Nginx1.9.9 配置启用 --待续

时间:2021-08-19 20:10:38

1.worker_processes

worker_processes     4;## 4核,所以设置4个
worker_cpu_affinity 0001 0010 0100 1000;

nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。

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

worker进程则是处理基本的网络事件。多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。

worker进程的个数是可以设置的,一般我们会设置与机器cpu核数一致。更多的worker数,只会导致进程来竞争cpu资源了,从而带来不必要的上下文切换。

而且,nginx为了更好的利用多核特性,具有cpu绑定选项,我们可以将某一个进程绑定在某一个核上,这样就不会因为进程的切换带来cache的失效。

worker_processes指明了nginx要开启的进程数,据官方说法,一般开一个就够了(默认),至于多开几个,可以减少机器io带来的影响。据实践表明,nginx的这个参数在一般情况下开4个或8个就可以了,再往上开的话优化不太大。
如果worker_processes大于1了,最好设置worker_cpu_affinity,这样可以让worker绑定指定cpu,可参考:http://nginx.org/en/docs/ngx_core_module.html#worker_cpu_affinity 参考文章:http://www.cnblogs.com/coder2012/p/3141469.html
     http://www.nginx.cn/76.html