您的位置:首页 > 运维架构 > Nginx

12 Nginx的核心模块

2013-03-28 21:56 429 查看
主模块指令

1.daemon

语法:daemon on | off

默认值:on

在生产环境中,请不要使用daemon和master_process指令。这些选项仅用于开发调试。当然你可以在生产环境中设置daemon off ,然后使用进程管理工具启动Nginx,但是平滑重启,升级等功能将无法使用。master_process off绝对不应该用于生产环境。

2.env

语法:env VAR | VAR=VALUE

默认值:TZ

使用环境:main

此项指令用来定义变量的集合,以下场合须更改环境变量或添加新的环境变量。

A.在零停机情况下平滑升级Nginx

B.启用Nginx内在的PERL模块

C.被Nginx进程所使用

3.debug_points

语法:debug_points [stop | abort]

默认值:none

用于调试,在调试器内设置断点

4.error_log

语法:error_log file [debug|info|notice|warn|error|crit]

默认值:${prefix}/logs/error.log

File参数是用来指定记录Nginx及Fastcgi错误日志的文件路径。

我们可以在不同的虚拟主机里面存储不同的日志文件,这是一个很有特色的功能。例如:

http

{

error_log logs/http_error.log

server

{

server_name one;

access_log logs/one.access;

error_log logs/one.error.log;

}

server

{

server_name two;

access_log logs/two.access;

error_log logs/two.error.log;

}

}

注意:error_log off无法禁止日志,这将会创建一个名为off的文件。如果要禁止,则需要用error_log /dev/null crit;

5.log_not_found

语法:log_not_found on | off

默认值:on

使用环境:debug_points stop;

启用或禁用404错误日志,这个指令可以用来禁止Nginx记录找不到robots.txt和favicon.ico这类文件的错误信息。

如:

location = /robots.txt

{

log_not_found off;

}

6.include

语法:include * | file

默认值:无

使用此指令,可以包含任何你想要的配置文件。从0.4.4开始,include指令开始支持文件名匹配,例如:include vhosts/*.conf

注意:从0.6.7开始,include文件的路径实现归于Nginx配置文件nginx.conf的所在目录。

7.pid

语法:pid file

示例:pid /var/log/nginx.pid

pid文件内记录着当前Nginx主进程号ID,可以通过kill命令发送信号给该ID号。例如平滑重启:shell>kill -HUP `cat /var/log/nginx.pid`

8.work_cpu_affinity

只能在Linux环境使用。
使用此指令,我们可以为每个Nginx Worker进程绑定指定的一颗CPU(双核CPU算作两颗),Nginx采用sched_setaffinity()函数绑定CPU。

示例如下:

worker_processes 4;

work_cpu_affinity 0001 0010 0100 1000;

分别给每个worker进程绑定一个CPU:

worker_processes 2;

work_cpu_affinity 0101 1010;

在上例中,第一个Nginx Worker进程绑定了CPU0/CPU2,第二个Nginx Worker进程绑定了CPU1/CPU3。这种配置适用于超线程技术。

9.worker_priority

语法:worker_priority [-]number

默认值:on

该选项用于给worker进程分配优先值。

在主模块指令中,可以从以下变量获取相关信息:

$nginx_version
当前运行的Nginx版本号

$pid
进程ID号

$realpath_root
ROOT目录绝对路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: