Nginx 官方文档翻译 - nginx的配置文件管理
本章节包括:nginx配置文件结构,指令的命令,指令继承规则
NGINX 是类似于其他服务器,它有一个文本配置文件写在一个特定的格式。默认情况下,文件名为nginx。conf并放置在 /etc/nginx目录中。(对于开源NGINX的产品,使用的位置取决于包系统安装NGINX和操作系统。这是通常的一个 /usr/local/nginx/conf, /etc/nginx,或 /usr/local/etc/nginx.)
配置文件由指令和它们的参数。简单(单行)指示每个以分号结束。其他指令作为“容器”集合相关指令,将它们包含在花括号({})。这里有一些简单的指令的例子。
user nobody;
error_log logs/error.log notice;
worker_processes 1;
为了使结构更容易维护,我们建议您将它分割成在 /etc/nginx/conf.d等目录中一组存储在特定特征文件和使用包括在主要的指令nginx.conf文件引用的特定特征文件的内容。
include conf.d/http;
include conf.d/stream;
include conf.d/exchange-enhanced;
一些顶级的指令,称为上下文,一起适用于不同的流量类型的指令:
- events一般的连接处理
- httphttp流量
- mail邮件流量
- streamtcp流量
在这些容器外的指令是在主上下文。
在每个traffic-handling上下文,您包含一个或多个 server上下文定义虚拟服务器,控制请求的处理。指令可以包括在一个 server上下文取决于通信类型。
对于HTTP通信(HTTP上下文),每一个server 指令控制特定域名或IP地址对资源的进程请求。
对于mail 和 TCP 通信 (mail 和 stream 上下文) ,每个server控制一个特定的TCP端口或UNIX socket传来的进程。
下面的配置说明了上下文的使用。
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
}
}
对于大多数指令,在另一个上下文中定义的上下文(子节点)继承了包括在父节点层面的指令。子节点覆盖父节点,包括指令和上下文。在上下文inheritence的更多信息,请参阅文档 proxy_set_header指令。
修改配置文件生效,NGINXPlus必须重新加载文件。你可以重新启动的 nginx过程或发送 reload信号升级配置而不中断当前请求的处理。
原文链接:[Nginx 官方文档 - 创建NGINX +配置文件]
(https://www.nginx.com/resources/admin-guide/configuration-files/)