# main段核心参数:### user USERNAME [GROUP] 解释:指定运行nginx的worker子进程的属主和属组,其中属组可以不指定 示例: user nginx nginx;### pid DIR 解释:指定运行nginx的master主进程的pid文件存放路径 示例: pid /usr/local/nginx/logs/nginx.pid;### worker_rlimit_nofile number 解释:指定worker子进程可以打开的最大文件句柄数 示例: worker_rlimit_nofile 20480; 备注:linux 最大打开65535个句柄 一般每个worker*cpu核心数=总数-10000### worker_rlimit_core size 解释:指定worker子进程异常终止后的core文件,用于记录分析问题 示例: worker rlimit core 50M; working_directory /usr/local/nginx/tmp; 备注:当前worker所属用户需要有这个文件夹的写权限### worker_processes number|auto 解释:指定nginx启动的worker子进程数量 示例: worker processes 4; worker_processes auto;### worker_cpul_affinity cpumask1 cpumask2 解释:将每个worker子进程与我们的CPU物理核心绑定 示例: worker_cpu_affinity 0001 0010 0100 1000; #4个物理核心,4个worker子进程 worker cpu affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; #8物理核心,8个worker子进程 worker_cpu_affinity 01 10 01 10; #2个物理核心,4个子进程 备注:将每个worker子进程与特定CPU物理核心绑定,优势在于:避免同一个worker子进程 在不同的CPU核心上切换,缓存失效,降低性能;其并不能真正的避免进程切换, 主要还是cpu时间片切换开销大,又由于是多核,并不能充分使用cpu缓存,所以让nginx的worker进程绑定上固定的核心cpu 来切换。### worker_priority number 解释:指定worker子进程的nice值,以调整运行nginx的worker子进程的优先级,通常设定为负值,以优先调用nginx 示例: worker_priority -10; 备注:Linux默认进程的优先级值是120,值越小越优先;nice设定范围为-20到+19 如-20+100### worker_shutdown_timeout time 解释:指定worker子进程优雅退出时的超时时间(热部署时,nginx 切换pid进程时发送信号量关闭旧链接请求的强制条件) 示例: worker_shutdown_timeout 5s;### timer_resolution time 解释:worker子进程内部使用的计时器精度,调整时间间隔越大,系统调用越少,有利于性能提升;反之,系统调用越多,性能下降,主要看系统对时间精度要求 示例: worker_resolution 100ms;### daemon on|off 解释:设定nginx的运行方式,前台还是后台,前台用户调试,后台用于生产 示例: daemon off; 前台 默认on
# events段核心参数### use 解释:nginx使用何种事件驱动模型 method可选值:select、poll、kqueue、epoll、/dev/poll、eventpor 默认配置:无 推荐配置:不指定,让nginx自己选择### worker_connections 解释:worker子进程能够处理的最大并发连接数 默认配置:worker_connections 1024 推荐配置:worker_connections 65535/worker_processes|65535### accept_mutex 解释:是否打开负载均衡互斥锁 (就是在worker子进程都加了个互斥锁,新请求进来只给其中一个处理) 可选值:on、off 默认配置:accept_mutex off 推荐配置:accept_mutext on### accept_mutex_delay 200ms 解释:新连接分配给worker子进程的超时时间 当accept_mutex参数打开才有意义### lock file 解释:负载均衡互斥锁文件存放路径 默认配置:lock_file logs/nginx.lock 推荐配置:lock_file logs/nginx.lock### muti_accept on|off 解释:子进程一次性可以接收的新连接个数 默认off