Nginx三大模块--核心模块
Nginx核心模块,主要配置的是Nginx的指令,进程管理和安全。在下面的列表中,很多指令是必须在主配置文件中使用且只能使用一次,但是有些指令在多个上下文时是有效的
Nginx核心模块,主要配置的是Nginx的指令,进程管理和安全。在下面的列表中,很多指令是必须在主配置文件中使用且只能使用一次,但是有些指令在多个上下文时是有效的
daemon
Accepted values:
on or off
Syntax:
daemon on;
Default value:
on
开启或者禁用deamon模式,如果你禁用它,程序将不会在后台启动,会一直停留在前台,在debug时一般使用这种模式
debug_points
Accepted values:
stop or abort
Syntax:
debug_points stop;
Default
value: None
在nginx中激活断点调试,
env
Syntax:
env MY_VARIABLE;
env MY_VARIABLE=my_value;
让你可以重新定义环境变量
error_log
Context
: main,http, server, and location
Syntax:
error_log /file/path level;
Default value:
logs/error.log error.
这里有多个错误日志记录级别 debug, info, notice,warn, error, and crit可以为应用,http服务器,虚拟主机,虚拟主机目录,开启不同级别的错误日志,你也可以将日志重定向到/dev/null相当与禁用日志error_log /dev/null crit
lock_file
Syntax:
File path
lock_file
logs/nginx.lock;
Default value:
Defined at compile time
使用互斥锁文件,默认是禁用的,除非你在编译时启用它
log_not_found
Context:
main,http, server, and location
Accepted values:
on or off
Syntax:
log_not_found on;
Default value:
on
开启或者禁用记录http404错误
master_process
Accepted values:
on or off
Syntax:
master_process on;
Default value:
on
如果开启,nginx将会启多个进程,包括主进程和worker进程,如果禁用,nginx只会启用唯一一个进程,当开启一个进程时只能用于测试,不能连接到服务器
pcre_jit
Accepted values:
on or off
Syntax:
pcre_jit on;
开启或者禁用即时编译正则表达式(PCRE版本必须在8.20或者更高),当开启时可以显著提高nginx处理速度,但是你必须要在构建时打开--enable-jit参数,并指定 --with-pcre-jit参数
pid
Syntax:
pid logs/nginx.pid;
Default value:
Defined at compile time.
Nginx服务的pid文件的路径,可以在编译时加入默认值
ssl_engine
Syntax:
ssl_engine $enginename;
Default value:
None
开启可用SSL硬件加速器
thread_stack_size
Syntax:
Numeric (size)
Example:
thread_stack_size 1m;
Default value:
None
定义线程栈的大小
user
Syntax:
user username groupname;
Example:
user username;
Default value:
Defined at compile time. If still undefined, the user
and group of the Nginx master process are used.
让你定义用户帐号并且用户组是可选的,当在nginx启动时会被使用,在考虑安全的情况下,你必须指定一个有限制权限的用户
worker_threads
Syntax:
Numeric
Example:
worker_threads 8;
Default value:
None
定义挂载在每个worker进程的线程数,注意!线程默认是禁用的的
worker_cpu_affinity
Syntax:
worker_cpu_affinity 1000 0100 0010 0001;
Example:
worker_cpu_affinity 10 10 01 01;
Default value:
None
详情看文档
worker_priority
Syntax:
Numeric
Example:
worker_priority 0;
Default value:
0
Defines the priority of the worker processes, from -20 (highest)
to 19 (lowest). The default value is 0. Note that kernel processes
run at priority level -5, so
定义worker进程的优先级,从-20(highest)到19 (lowest),默认值是0,
注意:内核进程运行的优先级别是-5
worker_processes
Syntax:
Numeric, or auto
Example:
worker_processes 4;
Default value:
1
定义worker进程数,nginx会分发请求到多个进程,默认值是1,如果你CPU有多个核心,建议增大这个值,如果一个进程处理时遇到慢的IO操作,后来发起的请求将会分发给其它的进程
worker_rlimit_core
Syntax:
Numeric (size)
Example:
worker_rlimit_core 100m;
Default value:
None
Defines the size of core files per worker process.
定义worker进程核心文件大小
worker_rlimit_nofile
Syntax:
Numeric
Example:
worker_rlimit_nofile 10000;
Default value:
None
定义worker进程可能使用文件的数量
worker_aio_requests
Syntax:
Numeric
Example:
worker_aio_requests 10000;
如果你使用的是异步epoll连接处理方式,这个值设定单个worker进程异步I/O操作数