由于Nginx配置项较多,把他们按照用户使用时的预期功能分为以下4类:
1.调试,定位问题的配置项
2.正常运行必备配置项
3.优化性能配置项
4.事件类配置项
1. 用于调试进程,定位问题的配置项
(1)是否以守护进程方式运行Nginx
语法: daemon on|off;
默认: daemon on;
(2)是否以master/worker方式工作
语法: master_process on|off;
默认: master_process on;
(3)error日志的设置
语法: error_log pathfile level;
默认: error_log logs/error.log error;
pathfile可以是/dev/null,这样就不会输出任何日志了,这也是关闭error日志的唯一手段;pathfile也可以是stderr,这样日志会输出到标准错误文件(大概是终端吧,/dev/stderr是这个?)
level是日志的输出级别,取值范围是debug、info、notice、warn、error、crit、alert、emerg,从左至右级别依次增大。
注意:如果日志级别设定到debug,必须在configure时加入--with-debug配置项。
(4)是否处理几个特殊的调试点
语法: debug_points[stop|abort]
(5)仅对指定的客户端输出debug级别的日志
语法: debug_connection[IP|CIDR]
这个配置项实际上属于事件类配置,因此,它必须放在events{...}中才有效。它的值可以是IP地址或CIDR地址,例如:
events { debug_connection 10.224.66.14; debug_connection 10.224.57.0/24; }
这样,仅仅来自以上IP地址的请求才会输出debug级别的日志,其他请求仍然沿用error_log中配置的日志级别。
上面这个配置对修复Bug很有用,特别是定位高并发请求下才会发生的问题。
注意:使用debug_connection前,需确保在执行configure时已经加入了--with-debug参数,否则不会生效。
(6)限制coredump核心转储文件的大小
语法: worker_rlimit_core size;
linux系统中,当进程发生错误或者信号而终止时,系统会将进程执行时的内存内容(映像)写入一个文件(core文件)
(7)指定coredump文件生成目录
语法: working_directory path;
worker进程的工作目录,即coredump的生成目录.故需要确保worker进程有权限向working_directory写入的权限