全部博文(2065)
分类: 系统运维
2010-03-19 13:47:06
nginx学习教程二
[整理人:遥方 整理时间:
一、nginx基本功能模块
语法: daemon on | off
缺省值: on
daemon off;
Do not
use the "daemon" and "master_process" directives in a
production mode, these options are mainly used for development only. You can
use daemon off safely in production mode with runit / daemontools however you
can't do a graceful upgrade. master_process off should never be used in
production.
生产环境中不要使用"daemon"和"master_process"指令,这些选项仅用于开发调试。
语法: debug_points [stop | abort]
缺省值: none
debug_points stop;
There are
some assertion points inside nginx that allow to stop nginx to attach the
debugger, or to abort and to create the core file.
应该适用于调试,在调试器内设置断点之类的。
语法: error_log file [ debug |
info | notice | warn | error | crit ]
缺省值: ${prefix}/logs/error.log
Nginx 添加 --with-debug 编译参数, 你还能够使用以下配置:
error_log LOGFILE [ debug_core | debug_alloc | debug_mutex | debug_event
]: | debug_http | debug_imap ;
语法: include file | *
缺省值: none
你可以在任意地方使用include指令实现配置文件的包含,类似于apache中的include方法,可减少主配置文件d。
include 指令还支持像下面配置一样的全局包含的方法,例如包含一个目录下所有以".conf"结尾的文件:
include vhosts/*.conf;
注意路径受到configure编译参数--prefix=<路径>指令的影响,如果没有指定,Nginx默认是被编译在/usr/local/nginx。
语法: master_process on | off
缺省值: on
master_process off;
Do not
use the "daemon" and "master_process" directives in a
production mode, these options are mainly used for development only.
生产环境中不要使用"daemon"和"master_process"指令,这些选项仅用于开发调试。
语法: pid file
缺省值: compile-time option
Example:
pid /var/log/nginx.pid; 表示进程ID的存放位置目录
进程id存储文件。可以使用 kill -HUP cat
/var/log/nginx.pid\ 对Nginx进行配置文件重新加载。 即实现重启nginx操作!
3.7 ssl_engine
语法: ssl_engine engine
缺省值: system dependent
Here you can set your preferred openssl engine if any
available. You can figure out which one do you have with the commandline tool:
该指令用于指定openssl使用的引擎。你可以通过下面的命令行获知系统目前支持的openssl引擎
openssl engine -t
例如:
$ openssl engine -t
(cryptodev) BSD cryptodev engine
: [ available ]
(dynamic) Dynamic engine loading support
: [ unavailable ]
语法: timer_resolution t
缺省值: none
Example:
timer_resolution 100ms;
The
directive allows to decrease number gettimeofday() syscalls. By default
gettimeofday() is called after each return from kevent(), epoll, /dev/poll,
select(), poll().
But if
you need an exact time in logs when logging $upstream_response_time, or $msec
variables, then you should use timer_resolution.
语法: user user [group]
缺省值: nobody nobody
指定Nginx Worker进程运行用户,默认是nobody帐号。
例如:
user www users;
语法: worker_cpu_affinity cpumask
[cpumask...]
缺省值: none
Linux
only.
With this
option you can bind the worker process to a CPU, it calls sched_setaffinity().
仅适用于linux,使用该选项可以绑定worker进程和CPU.
For
example,
worker_proceses 4;
worker_cpu_affinity 0001 0010 0100 1000;
Bind each
worker process to one CPU only.
分别给每个worker进程绑定一个CPU.
worker_proceses 2;
worker_cpu_affinity 0101 1010;
Bind the
first worker to CPU0/CPU2, bind the second worker to CPU1/CPU3. This is
suitable for HTT.
将CPU0/CPU2绑定给第一个worker进程,将CPU1/CPU3绑定给第二个worker进程。
语法: worker_priority [-] number
缺省值: on
With this
option you can give to all worker processes the priority (nice) you need/wish,
it calls setpriority().
使用该选项可以给所有的worker进程分配优先值。
3.12 worker_processes
语法: worker_processes number
缺省值: 1
e.g.:
worker_processes 5;
nginx
has the ability to use more than one worker process for several reasons:
nginx可以使用多个worker进程,原因如下:
1. to use SMP
2. to decrease latency when workers blockend on disk I/O
3. to limit number of connections per process when select()/poll() is used
The
worker_processes and worker_connections from the event sections allows you to
calculate maxclients value: k
max_clients
= worker_processes * worker_connections
语法: worker_rlimit_core size
缺省值: '
Maximum
size of core file per worker;
语法: worker_rlimit_nofile limit 缺省值: '
Specifies
the value for maximum file descriptors that can be opened by this process.
指定
语法: worker_rlimit_sigpending
limit 缺省值: '
(Since
Linux
语法: working_directory path 缺省值: --prefix
This is
the working directory for the workers. It's used for core files only. nginx
uses absolute paths only, all relative paths in configuration files are
relative to --prefix==PATH.