当前位置:首页 » 服务器操作系统

nginx主模块指令

2015-08-02 20:49 本站整理 浏览(109)

daemon

语法: daemon on | off

缺省值: on若为on则以守护进程方式执行,默认为on,否则控制终端结束后,nginx进程也随终端的结束而结束。该选项主要用于开发调试,生产环境不建议使用。

include

语法: include file | *

缺省值: none用于配置文件的包含,与apache的include命令类似。include可以减少nginx主配置文件中的内容,推荐使用。

还可以进行全局包含,例如包含一个木下的所有.conf文件

include test/*.conf

lock_file

语法: lock_file file

缺省值: compile-time option指定nginx采用文件加锁时加锁的文件。nginx中接收连接需要用到linux上的accpet系统调用,该操作为原子操作,通过互斥锁实现,gcc, Intel C++, SunPro C++ 编译在 i386, amd64, sparc64, 和ppc64平台上的nginx采用原子指令实现互斥,在其他平台上则使用文件加锁方式实现。

master_process

语法: master_process on | off

缺省值: on是否开启master进程,与daemon指令一样都用于调试,不建议生产环境使用。

pid

语法: pid file

缺省值: compile-time option Example:nginx启动后,会将master进程的id写入到一个文件中,该指令指定了该文件的路径。

ssl_engine

语法: ssl_engine engine

缺省值: system dependent指定使用的openssl引擎。

可以通过openssl engine -t获得系统目前使用的openssl引擎

timer_resolution

语法: timer_resolution t

缺省值: none例子

timer_resolution 100ms;

指定时间精度,默认nginx在kevent(), epoll, /dev/poll, select(), poll()等调用返回时会调用gettimeofday()函数获取时间,如果在日志中想精确的显示时间可以通过该指令设置

user

语法: user user [group]

缺省值: nobody 指定nginx worker进程运行的用户,默认为nobody, nobody是linux上一个权限很低的系统用户。

worker_cpu_affinity

语法: worker_cpu_affinity cpumask [cpumask...]

缺省值: none例子,给每个worker进程绑定一个cpu

worker_processes 4;

workcpu_ affinity 0001 0010 0100 1000;

该选项可以绑定worker进程和CPU.实际上底层通过调用sched_setaffinity()系统调用实现

worker_priority

语法: worker_priority [-] number

缺省值: on是否给worker进程分配优先值

worker_processes

语法: worker_processes number

缺省值: 1nginx中可以有多个worker进程,通常为了

1.更好的发挥多核CPU性能

2.减少磁盘I/O阻塞造成的延迟时间

3.减少单个进程调用select()/poll()使用的连接数,

说明:select(), poll()都是I/O复用接口,通过轮询来获取套接字上可读或可写的事件,执行速度和监听的链接(即文件描述符)的数量呈线性增长,监听的套接字越多,性能越差,因此select和poll监听的套接字应尽可能的少,这里nginx通过把连接分配给多个进程来减少单个进程的监听数。

worker_rlimit_nofile

语法: worker_rlimit_nofile limit 缺省值: '

指定worker进程打开的文件描述符的最大数量

working_directory

语法: working_directory path 缺省值: --prefix

指定nginx中worker进程的工作目录,默认为nginx安装目录