Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29338083
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2010-03-19 13:47:06

nginx学习教程二

[整理人:遥方 整理时间:2010-3-19]

一、nginx基本功能模块

3.1 daemon

语法: 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"指令,这些选项仅用于开发调试。

3.2 debug_points

语法: 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.

应该适用于调试,在调试器内设置断点之类的。

3.3 error_log

语法: 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 ;

 

3.4 include (减少主配置文件的内容相当于脚本语言里面的include关键字)

语法: include file | *

缺省值: none

你可以在任意地方使用include指令实现配置文件的包含,类似于apache中的include方法,可减少主配置文件d

include 指令还支持像下面配置一样的全局包含的方法,例如包含一个目录下所有以".conf"结尾的文件:

include vhosts/*.conf;

注意路径受到configure编译参数--prefix=<路径>指令的影响,如果没有指定,Nginx默认是被编译在/usr/local/nginx

3.5 master_process

语法: 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"指令,这些选项仅用于开发调试。

3.6 pid

语法: 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 ]

 

3.8 timer_resolution

语法: 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.

3.9 user

语法: user user [group]

缺省值: nobody nobody

指定Nginx Worker进程运行用户,默认是nobody帐号。

例如:

user www users;

3.10 worker_cpu_affinity

语法: 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进程。

3.11 worker_priority

语法: 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

3.13 worker_rlimit_core

语法: worker_rlimit_core size

缺省值: '

Maximum size of core file per worker;

worker_rlimit_nofile

语法: worker_rlimit_nofile limit 缺省值: '

Specifies the value for maximum file descriptors that can be opened by this process.

指定

worker_rlimit_sigpending

语法: worker_rlimit_sigpending limit 缺省值: '

(Since Linux 2.6.8) Specifies the limit on the number of signals that may be queued for the real user ID of the calling process.

working_directory

语法: 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.

 

 

 

阅读(1017) | 评论(1) | 转发(0) |
0

上一篇:nginx学习教程一

下一篇:linux的nobody

给主人留下些什么吧!~~

hkebao2010-04-24 22:33:22

http://www.infoq.com/cn/architect/ 架构师杂志