存档

文章标签 ‘debug_points’

Nginx主模块-NginxHttpMainModule

2009年4月1日 路途志 没有评论

摘要:

这是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

这个指令用来定义环境变量集合,如下场合需要创建新的变量或者更改变量值:

  1. 在实时环境下升级Nginx的时候
  2. 启用内置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将采用异步互斥进行访问控制。

SEO Powered by Platinum SEO from Techblissonline