Nginx配置指南

Nginx配置指南

nginx.conf 文件结构

参考:Nginx配置详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...              #全局块

events { #events块
...
}

http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
  1. 全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。
  2. events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
  3. http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
  4. server块:配置虚拟主机的相关参数,一个http中可以有多个server。
  5. location块:配置请求的路由,以及各种页面的处理情况。

配置详解

全局块

指令 说明
user 配置 worker 进程的用户和组
worker_processes 指定 worker 进程启动数量,用于处理客户端的所有连接。设置该值为 CPU 的核数。(max_clients = worker_processes * worker_connections)
error_log 指定日志文件,如果在其他区段中没有设置其他的 error_log ,那么这个日志文件将会记录所有的错误。该指令的第二个参数指定了被记录错误的级别(debug 、info 、notice 、warn 、error 、crit 、alert 、emerg )。注意 debug 级别的错误只有在编译时配置了 –with-debug 选项才可以使用。
pid 设置记录主进程 ID 的文件

events块

指令 说明
use 选择事件模型,默认 Nginx 会自动使用最适合的事件模型。对于Linux操作系统来说,可供选择的事件驱动模型有poll、select、epoll三种。epoll 是性能最高的一种。
worker_connections 定义每个worker进程可以同时处理的最大连接数

http块