nginx配置项(一)

配置项单位

当指定空间大小时,可以使用的单位包括:
K或者k千字节(KiloByte,KB)
M或者m兆字节(MegaByte,MB)
当指定时间时,可以使用的单位包括:
ms(毫秒),s(秒),m(分钟),h(小时),d(天),w(周,包含7天), M(月,包含30天),y(年,包含365天)。

调试进程和定位问题的配置项:

(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;

如果日志级别设定到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中配置的日志级别。
注意:使用debug_connection前,需确保在执行configure时已经加入了–with-debug参 数,否则不会生效。
(6)限制coredump核心转储文件的大小

语法: worker_rlimit_core size;

通过worker_rlimit_core配置可以限制core文件的大小,从而有效帮助用户定位问题。
(7)指定coredump文件生成目录

语法: working_directory path;

正常运行的配置项:

(1)定义环境变量

语法: env TESTPATH=/tmp/;

(2)嵌入其他配置文件

include mime.types; 
include vhost/*.conf;

(3)pid文件的路径

语法: pid path/file;
默认: pid logs/nginx.pid;

(4)Nginx worker进程运行的用户及用户组

语法: user username[groupname]; 
默认: user nobody nobody;

(5)指定Nginx worker进程可以打开的最大句柄描述符个数

语法: worker_rlimit_nofile limit;

(6)限制信号队列

语法: worker_rlimit_sigpending limit;

优化性能的配置项:

(1)Nginx worker进程个数

语法: worker_processes number; 
默认: worker_processes 1;

(2)绑定Nginx worker进程到指定的CPU内核

语法: worker_cpu_affinity cpumask[cpumask...]

worker_cpu_affinity配置仅对Linux操作系统有效。Linux操作系统使用 sched_setaffinity()系统调用实现这个功能。
(3)SSL硬件加速

openssl engine -t

(4)系统调用gettimeofday的执行频率

语法: timer_resolution t;

(5)Nginx worker进程优先级设置

语法: worker_priority nice; 
默认: worker_priority 0;

事件类配置项:

(1)是否打开accept锁

语法: accept_mutex[on|off] 
默认: accept_mutext on;

(2)lock文件的路径

语法: lock_file path/file; 
默认: lock_file logs/nginx.lock;

accept锁可能需要这个lock文件,如果accept锁关闭,lock_file配置完全不生效。
(3)使用accept锁后到真正建立连接之间的延迟时间

语法: accept_mutex_delay Nms; 
默认: accept_mutex_delay 500ms;

(4)批量建立新连接

语法: multi_accept[on|off];
默认: multi_accept off

(5)选择事件模型

语法: use[kqueue|rtsig|epoll|/dev/poll|select|poll|eventport]; 

默认: Nginx会自动使用最适合的事件模型。
(6)每个worker的最大连接数

语法: worker_connections numbe

猜你喜欢

转载自blog.csdn.net/weixin_41202038/article/details/86290373