全局模块
user nginx; 开启worker进程的用户身份,可以选择已有的用户,一般以专门的nginx账号开启
worker_processes auto; Worker进程数量 auto是代表随系统有几个cpu来决定开启几个worker进程,也可以自己决定开启几个进程,开启进程数不能多于cpu数量
绑定CPU:
worker_cpu_affinity 00000001 00000010 00000100 00001000; worker进程绑定cpu,几个cpu就输入几位数,几个进程就输入几个数,从右开始1在第几位就说明绑定第几个cpu。本例子有四个进程,有八个cpu,分别绑定第0个,1个,2个,3个cpu
error_log /apps/nginx/logs/nginx.log; 错误日志放哪
pid /apps/nginx/logs/nginx.pid; pid放在哪个文件夹
worker_priority number; 定义worker进程的优先级(-20到19)
worker_rlimit_nofile 65536; 所有worker进程所能处理的文件数量上限,实际上是它能处理的并发连接数,最好与ulimit -n的值保持一致,ulimit -a的open files的那一项(或者和/etc/security/limits.conf的值保持一致)
Daemon off; 前台运行nginx服务,用于测试、docker等环境,默认是后台执行
events模块
Worker_connections 10240; 设置单个工作进程的最大并发连接数
Use epol; 使用epoll事件驱动
Accept_mutex on; 默认为off,新请求会唤醒所有的worker进程,此过程称为”惊群”,因此nginx刚安装以后要进行适当的优化,建议为on,on为同一时刻一个请求轮流由worker进程处理,防止唤醒所有的worker进程
Multi_accept on; 默认为off,默认为一个工作进程只能一次接受一个新的网络连接,建议设置为on,on时ngin服务器的每个worker工作进程可以同时接受多个新的网络连接