Nginx模块参考手册:主模块(Main Module)

摘要

包含一些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)

时间: 2024-10-28 23:47:27

Nginx模块参考手册:主模块(Main Module)的相关文章

Nginx模块参考手册:事件模块(Events Module)

摘要 控制Nginx处理连接的方式 指令 accept_mutex 语法:accept_mutex [ on | off ] 默认值:on Nginx使用连接互斥锁进行顺序的accept()系统调用 accept_mutex_delay 语法:accept_mutex_delay Nms; 默认值:500ms如果一个进程没有互斥锁,它将至少在这个值的时间后被回收,默认是500ms debug_connection 语法:debug_connection [ip | CIDR] 默认值:none

Nginx模块参考手册:URL重写模块(Rewrite)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许使用正则表达式重写URI(需PCRE库),并且可以根据相关变量重定向和选择不同的配置.如果这个指令在server字段中指定,那么将在被请求的location确定之前执行,如果在指令执行后所选择的location中有其他的重写规则,那么它们也被执行.如果在location中执行这个指令产生了新的URI,那么location又一次确定了新的URI.这样的循环可以最多执行10次,超过以后nginx将返回5

Nginx模块参考手册:日志模块(Log)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 控制nginx如何记录请求日志.例: log_format gzip '$remote_addr - $remote_user [$time_local] ' '"$request" $status $bytes_sent ' '"$http_referer" "$http_user_agent" "$gzip_ratio"'; access

Nginx模块参考手册:User ID模块(User ID)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 模块ngx_http_userid_module为连接发布cookie,主要使用$uid_got和$uid_set变量,注意:$uid_got和$uid_set无法在SSI中取得,因为SSI过滤模块工作在userid模块过滤之前.这个模块相当于Apache的mod_uid模块.示例配置: userid on;userid_name uid;userid_domain example.com;userid_pat

Nginx模块参考手册:Gzip Precompression模块(Gzip Precompression)

如果要使用这些模块,则必须在编译时指定相关的编译参数. 这个模块在一个预压缩文件传送到开启Gzip压缩的客户端之前检查是否已经存在以".gz"结尾的压缩文件,这样可以防止文件被重复压缩.这个模块在0.6.24后可用,如果要使用它则需要在编译时指定如下参数: ./ configure --with-http_gzip_static_module 示例配置: gzip_static on; gzip_http_version 1.1;gzip_proxied expired no-cach

Nginx模块参考手册:Map模块(Map)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 这个模块允许你分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被接受的时候执行视图映射操作,对于处理没有引用变量的请求,这个模块并没有性能上的缺失. 如下例: map $http_host $name { hostnames; default 0; example.com 1; *.example.com 1; test.com 2; *.test.com 2; .si

Nginx模块参考手册:嵌入式Perl模块(Embedded Perl)

如果要使用这些模块,则必须在编译时指定相关的编译参数. 这个模块允许nginx使用SSI调用perl或直接执行perl 在编译时安装模块 默认这个模块为不可用,如果想使用这个模块,则必须在编译时指定–with-http_perl_module.系统必须有Perl 5.6.1以上版本. 已知的问题 这个模块并不完善,因此可能会出现一些bug如: 如果perl脚本执行延时操作,(如dns解析,数据库查询等.) 那么运行perl脚本的工作进程将一直处于完全占用状态,因此需要perl脚本尽量简短,并且很

Nginx模块参考手册:HTTP核心模块(HTTP Core)

这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除. 摘要 Nginx处理HTTP的http://www.aliyun.com/zixun/aggregation/17626.html">核心功能模块 指令 aio 语法:aio [on|off|sendfile] 默认值:off使用字段:http, server, location这个指令在Linux内核2.6.1922以上版本可以使用,对于Linux内核,这个指令需要配合directio指令,使用这个指令

Nginx模块参考手册:SSL模块(SSL)

如果要使用这些模块,则必须在编译时指定相关的编译参数. 这个模块提供http://www.aliyun.com/zixun/aggregation/29830.html">HTTPS支持支持通过以下两个限制检察客户端证书: 0.8.7之前的版本无法为过期证书指定列表. 如果你有一个证书链文件(有时称为一个中级证书),你并不需要像apache那样对每个都进行指定,你只需要将证书链中的信息追加到主证书文件中(通过cat chain.crt » mysite.com.crt命令),之后可以不使用