主模块指令:Nginx的主模块是实现Nginx的基本功能的指令集,它们一般写在Nginx的配置文件的最上方。
#默认值为on,正式环境中不要使用daemon和master_process指令,仅限于开发调试。
daemon on|off;
#定义变量集合,修改或添加新环境变量
env var|var=value;
#默认值:none,拥有调试设置断点
debug_points [stop|abort]
#默认值${prefix}/logs/error.log。日志中默认的错误级别:main部分error http和server部分crit
#Nginx支持不同虚拟机的存储在不同位置
error_log file [debug|info|notice|warn|error|crit]
#错误日志存储在不同位置
error_log logs/main_error.log;
events {
worker_connections 51200;
}
http {
error_log logs/http_error.log error;
server {
server_name www.baidu.com;
access_log logs/one.access;
error_log logs/one.error error;
}
}
#debug_points stop时使用,启用或禁用404这类错误,禁止记录404错误信息
log_not_found on|off#默认为on
location = /robots.txt {
log_not_found off;
}
#包含你想要要包含的配置文件,支持文件名匹配
include var/*.conf
#默认为on,生成环境不要使用此命令
master_process on|off
#pid文件记录当前Nginx主进程的ID号
pid file
#设置首选的ssl引擎,可以通过openssl engine -t找出系统目前支持的ssl引擎
ssl_engine engine
#该指令减少gettimeofday()函数获取昂前时间的系统调用次数。
#若在日志中反应毫秒级的准确时间或毫秒级反向代理响应时间,使用此命令
timer_resolution t(100ms);
#按照参数顺序检查文件是否存在,以及返回第一个被找到的文件名。以"/"结尾表示一个目录。 #若没有找到内部定向到最后一个参数,最后是一个后备url,它必须存在。 try_files path1 [path2] url #默认值nobody nobody,指定运行Nginx进程的用户和组。 user user [group] #为每个Nginx worker进程绑定特定的一个CPU worker_processes 4; worder_cpu_affinity 0001 0010 0100 1000; #为worker进程分配优先值 worker_priority number; #nginx worker进程数 worker_processes number; #由worker_processes和worker_connections两个指令可以计算出最大客户端连接数 max_clients = worker_processes * worker_connections
worker_rlimit_core number#指定每个Nginx进程的最大core文件大小
#Nginx进程可以打开的最大文件描述符数量
worker_rlimit_nofile 655355;
#指定调用进程的真正用户ID的排队数量
worker_rlimit_sigpending 32768
#指定nginx的工作目录,path只能是绝对路径,默认为--prefix
woring_directory path
事件模块指令
#nginx使用连接互斥锁进行顺序的accept()系统调用
accept_mutex [on|off]
#若一个进程没有互斥锁,它将在最少N毫秒延迟之后再次尝试获取互斥锁。默认500ms
accept_mutex_delay Nms
#记录Ip/网络的用户端侦错日志
debug_connection [ip|CIDR]
events {
debug_connection 192.168.1.1;
}
#指定使用哪种事件模型
use [kqueue|rtsig|epoll|/dev/poll/select|poll/eventport]
#设置每个进程能够处理的连接数
worker_connections number