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目录绝对路径
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目录绝对路径
相关文章推荐
- 13 Nginx的标准http模块
- 8 Nginx模块开发
- 【Nginx核心模块】ngx_thread_pool_module
- Nginx configure 选项
- android: 源码模块自定义
- nginx location语法使用介绍
- Drupal 模块开发基本教程(一)
- nginx 0.8.39
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
- Nginx 核心模块、HTTP模块、邮件模块解析
- Nginx 虚拟主机 VirtualHost 配置
- 解剖Nginx·模块开发篇(6)配置文件config入门
- NGINX----源码阅读---HTTP核心模块
- nginx配置文件各参数详解 &nb…
- 【转载】python xml.dom模块…
- nginx 正则表达式匹配入门篇
- python os模块[转]
- Nodejs-内置核心模块&npm包管理工具
- Drupal 模块开发基本教程(二)
- Java EE的13种核心技术