摘要:
这是Nginx的基础模块,它提供了最基本的http处理功能。
指令:
指令:daemon
语法: daemon on | off
默认值: on
例:daemon off;
在正式环境下不要使用daemon和master_process指令,这些选项只能用于开发环境。不过你可以放心的在正式环境下将daemon off和runit/daemontools一起使用,不过这种用法会在以后的升级中给给你带来麻烦,你将无法
平滑的升级到新版本。master_process off则绝对不能使用在正式环境中。
指令:env
语法: env VAR|VAR=VALUE
默认值: TZ
上下文: main
这个指令用来定义环境变量集合,如下场合需要创建新的变量或者更改变量值:
- 在实时环境下升级Nginx的时候
- 启用内置Perl 模块的时候
如果没有明确的定义TZ的值,默认情况下它集成老版本的值,默认情况下,内置的Perl模块总是可以使用TZ的值。
例:
env MALLOC_OPTIONS;
env PERL5LIB=/data/site/modules;
env OPENSSL_ALLOW_PROXY_CERTS=1;
指令:debug_points
语法: debug_points [stop | abort]
默认值: none
例:
debug_points stop;
在Nginx内部有很多断言,如果debug_points的值设为stop时,那么触发断言时将停止Nginx并附加调试器。如果debug_point的值设为abort,那么触发断言时将创建内核文件。
指令:error_log
语法: error_log file [ debug | info | notice | warn | error | crit ]
默认值: ${prefix}/logs/error.log
指定服务器错误日志存储的位置。
日志中默认的错误级别:
main部分:error
HTTP部分:crit
server部分:crit
Nginx支持将不同虚拟主机的日志存储在不同位置,这是个很有特色的功能。在lighttpd中,他们一直拒绝提供类似的功能。下面两个链接,提供了针对不同虚拟主机提供不同日志的例子:
SeparateErrorLoggingPerVirtualHost
mailing list thread on separating error logging per virtual host.
如果你在编译Nginx的时候,使用了—with-debug指令,你还可以使用:
error_log LOGFILE [debug_core | debug_alloc | debug_mutex | debug_event | debug_http | debug_imap];
注意:error_log off 无法禁用日志,这个写法将会创建一个名为off的日志文件。如果要禁用日志,请用下面的写法:
error_log /dev/null crit;
指令:log_not_found
语法: log_not_found on | off
默认值: on
上下文: location
启用或者禁用404错误日志,这个指令可以用来禁止Nginx记录找不到robots.txt和favicon.ico这类文件的错误信息。
例如:
location = /robots.txt {
log_not_found off;
}
指令:include
语法: include file | *
默认: none
用这个指令,你可以包含任何你想要包含的配置文件。从0.4.4开始,include 指令开始支持文件名匹配,
例如:
include vhosts/*.conf;
注意:直到0.6.7版本为止,include 文件的路径是相对于configure时由–prefix=<PATH>指令指定的的路径而言,默认情况下是/usr/local/nginx.如果在编译compiledNginx时你没有指定这个值,请使用绝对路径。
从0.6.7开始,include文件的路径实现归于Nginx配置文件nginx.conf的所在目录而言,不再是nginx编译时指定的路径。这个改进大大增加了include的灵活性。
指令:lock_file
语法: lock_file file
默认值: compile-time option
例如:
lock_file /var/log/lock_file;
如果Nginx是由gcc、Intel C++或者SunPro C++ 在 i386、amd64平台上编译的,Nginx将采用异步互斥进行访问控制。