摘要
包含一些Nginx的基本控制功能
指令
daemon
语法:daemon on | off
默认值:on
daemon off;
生产环境中不要使用”daemon”和”master_process”指令,这些指令仅用于开发调试。虽然可以使用daemon off在生产环境中,但对性能提升没有任何帮助,但是在生产环境中永远不要使用master_process off。
env
语法:env VAR|VAR=VALUE
默认值:TZ
使用字段:main
这个命令允许其限定一些环境变量的值,在以下的情况下会创建或修改变量的值:
在不停机情况下升级、增加或删除一些模块时继承的变量
&">nbsp; 使用内置的perl模块
使用工作中的进程,必须记住,某些类似系统库的行为管理仅在变量初始化时频繁地使用库文件,即仍然可以用之前给定的命令设置,上面提到的零停机更新文件是一个例外(此句不知怎么翻,原文:for use by working processes. However it is necessary to keep in mind, that management of behaviour of system libraries in a similar way probably not always as frequently libraries use variables only during
initialization, that is still before they can be set by means of the given instruction. Exception to it is the above described updating an executed file with zero downtime. )
如果没有明确的定义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
指定Nginx服务(与FastCGI)错误日志文件位置。
每个字段的错误日志等级默认值:
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;
同样注意0.7.53版本,nginx在使用配置文件指定的错误日志路径前将使用编译时指定的默认日志位置,如果运行nginx的用户对该位置没有写入权限,nginx将输出如下错误:
[
alert]: could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)