nginx全局配置

以下内容是对nginx的全局属性配置

 

#user  nobody;

worker_processes  1;

 

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

 

#pid        logs/nginx.pid;

#worker_rlimit_nofile 65535;

 

events {

#   use epoll;

worker_connections  65535;

}

 

user是个主模块指令,指定nginx woker进程运行用户以及用户组,默认由nobody账号运行

 

worker_processes 是个主模块指令,指定了nginx要开启的进程数,每个nginx进程平均耗费10~12MB内存,根据经验,一般指定一个进程就足够了,如果是多核CPU,建议指定和CPU数量一致的进程数即可

 

error_log 是个主模块指令,用来定义全局错误日志文件,日志输出级别有debug,info,notice,warn,error,crit可供选择,其中debug输出的日志最为详细,而crit输出的日志最少

 

pid是主模块指令,用来指定进程id的存储文件位置

 

worker_rlimit_nofile 用于绑定worker进程和CPU,linux2.4以上可用

 

events指令用来指定nginx的工作模式及连接的上限

 

use是个事件模块指令,用来指定nginx的工作模式,nginx支持的工作模式有select,poll,kqueue,epoll,rtsig和/dev/poll,其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在linux平台,而kqueue用在bsd系统中,对于linux系统,epoll工作模式是首选

 

worker_connection也是个事件模块指令,用于定义nginx每个进程的最大连接数,max_client=worker_processes*worker_connection,在做为反向代理时变为max_clients=worker_processes*worker_connection/4

 

进程的最大连接数受linux系统进程最大打开文件数限制,在执行操作系统命令”ulimit -n 65536″后,worker_connection的设置才能生效