nginx 内核模块 参数详解

  • nginx 内核模块 参数详解已关闭评论
  • 115,046 views
  • A+

1:worker_processes
nginx的进程数,默认与cpu的个数相同
2:daemon   
语法: deamon on|off
 默认值:on
这个指令不要用于生产环境,虽然在生产环境中可以使用daemon off,但对性能的提升没有任何帮助,如果使用了daemon off那么Nginx将会运行在前台,而不会运行在后台的守护进程
3:env
语法:env VAR|VAR=VALUE
功能:该指令用于对环境变量重新定义,例如:
env MALLOC_OPTIONS;
env PERL5LIB=/data/site/modules;
env OPENSSL_ALLOW_PROXY_CERTS=1;
4:debug_points
语法:debug_points [stop | abort]
默认值:none

用于调试,在调试器内设置断点
5:error_log
语法:error_log file [debug|info|notice|warn|error|crit]
默认值:${prefix}/logs/error.log

使用环境:http 、server 、location

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;

6:include
语法:include file |*
默认值:none
使用此指令,可以包含任何你想要的配置文件。从0.4.4开始,include指令开始支持文件名匹配,例如:include vhosts/*.conf
注意:从0.6.7开始,include文件的路径实现归于Nginx配置文件nginx.conf的所在目录。

8:
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;
}
7:lock_file

语法:lock_file file

默认值:编译时指定

nginx使用了连接互斥锁进行顺序的accept()系统调用,如果nginx使用gcc/Intel C++或者是SunPro C++在i386、amd64、sparc64和ppc64编译创建,那么 Nginx服务器将自动采用异步互斥进行访问控制,而在其他情况下锁文件会被使用,默认是不使用,除非在编译时开启了该功能。

8:master_process
语法:master_process on|off
默认值:on
功能:如果设置为on,那么Nginx将会开启多个进程,包括一个主进程(就是master进程)和多个worker进程;如果设置为off即禁用,那么Nginx将会以独一无二的进程,既master进程来运行。该指令仅被用于测试,作为一个master进程,这样的客户端就不能连接到你的服务器。因此在生产环境中不要设置该选项。
9:pid
语法:pid文件
默认值:编译时指定。

该指令用于设置Nginx的pid文件。通过使用kill命令向该文件发送相应的信号来结束Nginx运行、重新载入配置等操作,例如:
kill -HUP 'cat /var/log/nginx.pid'
例如:pid /var/log/nginx.pid
10:ssl_engine
语法:ssl_engine engine
默认值:依赖于系统
该指令用于设置想要使用的OpenSSL引擎,可以通过命令“openssl engine -t”来查找可用的引擎。
11:timer_resolution
语法:timer_resolution t
默认值:none
该指令用于缩短gettimeofday()系统调用时间,默认情况下gettimeofday()在kevent()、epoll、/dev/poll、select()及poll()调用完成之后调用。如果在具体的使用中需要一个比较准确的时间来记录$upstream_response_time或者$msec变量,那么将会使用到该指令。
12:user
语法:user user [group]
默认值:nobody nobody
如果master进程是以root用户来运行的,那么Nginx将会使用setuid()/setgid()来实现USER/GROUP的接替工作,那么Nginx将会使用同USER一样的组名称。默认情况下,使用nobody用户名称和nobody或者是nogroup组名称,当然也可以在配置./configure的脚本时指定--user=USER和--group=GROUP来实现。例如:
user www users;
13:worker_cpu_affinity
语法:worker_cpu_affinity cpumask [cpumask...]
默认值:none
该指令只能用于linux,设置worker进程与CPU的亲和力。该指令允许通过调用sched_setaffinity()将worker进程绑定到一个cpu上。例如:
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
这种设置将每一个进程绑定到一个CPU上。

worker_processes 2;
worker_cpu_affinity 0101 1010;
这种设置将第一个worker绑定到cpu0/cpu2;将第二个worker绑定到CPU1/CPU3,只对于超线程(HTT)CPU合适

  • 安卓客户端下载
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar