nginx的功能都是通过配置文件来设置的。配置文件默认位于/etc/nginx/nginx.conf。配置文件有指令及其参数组成。指令包括简单指令块指令组成。
简单指令:单行指令,每一行以分号结束。
块指令:类似于容器,将功能相关的一些指令用大括号{}包括起来。

为了便于维护,建议将配置文件分成各个功能相关的文件,放于/etc/nginx/conf.d目录下,并在主配置文件/etc/nginx/nginx.conf文件夹中用include指令引入。

配置文件中可以包括若干块指令,定义相关功能。

  • events:通用连接处理
  • http:http相关功能
  • mail:邮件相关功能
  • stream:tcp相关功能

以上块指令以外的指令即为全局配置(main context)。
以下只介绍常用的http功能,其它后续再补充。
http中可以使用server指令,定义若干虚拟主机。每个server域内可以使用location指令处理相应的uris请求。
常见的配置如下:

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
28
29
30
31
32
33
34
user nobody; # a directive in the 'main' context
events {
# configuration of connection processing
}
http {
# Configuration specific to HTTP and affecting all virtual servers
server {
# configuration of HTTP virtual server 1
location /one {
# configuration for processing URIs with '/one'
}
location /two {
# configuration for processing URIs with '/two'
}
}
server {
# configuration of HTTP virtual server 2
}
}
stream {
# Configuration specific to TCP and affecting all virtual servers
server {
# configuration of TCP virtual server 1
}
}

上述内容只是简要介绍一些基本内容。后续将继续补充完善,并介绍如果配置web server、静态服务器、反向代理以及负载均衡相关的内容。