nginx配置教程之全局配置

发布时间:2020-10-13编辑:脚本学堂
本文介绍了nginx配置中有关全局配置的内容,user:是个主模块指令,指定nginx worker进程运行用户以及用户组,有需要的朋友参考下。

本节内容:
nginx配置全局信息

nginx配置之全局配置

user:是个主模块指令,指定nginx worker进程运行用户以及用户组.
 
语法:user user [group]
默认值:nobody nobody
如果主进程以root运行,Nginx将会调用setuid()/setgid()来设置用户/组,如果没有指定组,那么将使用与用户名相同的组,默认情况下会使用nobody用户与nobody组(或者nogroup),或者在编译时指定的--user=USER和--group=GROUP的值。
 
worker-processes:是个主模块指令,指定了nginx要开启的进程数。每个nginx进程平均消耗10MB-12MB内存,根据经验,一般指定一个进程足够了,如果是多核CPU,建议指定和CPU的数量一样多的进程数即可。
 
error_log:是个主模块指令,用来定义全局错误日志文件。日志输出级别有debug,info,notice,warn,error,crit可供,其中,debug输出日志最为详细,而crit输出日志最少。
Nginx支持为每个虚拟主机设置不同的错误日志文件,这一点要好于lighttpd.
如果你在编译安装nginx时加入了--with-debug参数,你可以使用以下配置:
error_log LOGFILE [debug_core | debug_alloc | debug_mutex | debug_event | debug_http | debug_imap]; 

注意error_log off并不能关闭日志记录,而会将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志功能 ,应使用以下配置:
error_log  /dev/null crit; 

还要注意运行nginx的用户是否错误文件写的权限。
 
pid:是个主模块指令,用来指定进程id的存储文件位置。
可以使用linuxjishu/14078.html target=_blank class=infotextkey>kill命令来发送相关信号,例如如果想要重新读取配置文件,则可以使用:
kill -HUP `cat /var/run/nginx.pid` 

worker_rlimit_nofile:主模块指令,进程能够打开的最多的文件描述符数。

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

use:是事件指令,用来指定nginx的工作模式。
语法:use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]
nginx支持使用下列的方式处理连接。
·select - 标准方式,如果当前平台没有其他有效的方式,则会默认编译。你可以使用--with-select_module和--without-select_module编译参数来启用或禁止该模块。
·poll - 标准方式,如果当前平台没有其他有效的方式,则会默认编译。你可以使用--with-poll_module和--without-poll_module编译参数来启用或禁止该模块。
·kqueue - 高效方式,适用于FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0和MacOS X。运行于多处理器的MacOS X使用kqueue可能引起某些问题。
·epoll(linux首选) - 高效方式,适用于Linux 2.6+。在某些平台,例如SuSE 8.2,它们有一些关联包使2.4版本内核就能够支持epoll。
·rtsig - 可执行的实时信号,运行于Linux 2.2.19+。默认情况下系统整体无法有超过1024个POSIX实时(队列的)信号,显然这对于高负载服务器是不够用的,因此可以通过内核参数/proc/sys/kernel/rtsig-max增加这个队列大小,然而,Linux 2.6.6-mm2以后,这个参数不再可用,并且每个处理器都是一个单独的信号队列,其大小通过RLIMIT_SIGPENDING指定,当队列溢出时,nginx将丢弃它们并且使用poll方式处理连接直到他们恢复正常。
·/dev/poll - 高效方式,适用于Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+和Tru64 UNIX 5.1A+。
·eventport - 高效方式,适用于Solaris 10,
worker_connections:是个事件模块指令,用于定义nginx每个进程的最大连接数,默认1024.最大客户端连接由worker_processes和worker_connections决定,即max_clients = worker_processes*worker_connections,在作为反向代理时变为:max_clients = worker_processes*worker_connections/4。进程的最大连接数受Linux系统进程的最大打开文件数限制,在执行操作系统命令"ulimit -n 65536" 后worker_connections的设置才能生效。

您可能感兴趣的文章: