Nginx 管理指南

2. Nginx配置文件结构

2017-02-24  本文已影响24人  freefishz2

配置文件由指令和参数构成,包含简单指令和复合指令。
简单指令(单行)以;结尾。示例如下:

user             nobody;
error_log        logs/error.log notice;
worker_processes 1;

复合指令将相关指令包含在{}之间,复合指令支持嵌套。
为了使配置易于管理,最好将一系列相关配置分别保存在不同的文件里,然后使用include指令将它们引入到主配置文件nginx.conf中,如下所示:

include conf.d/http;
include conf.d/stream;
include conf.d/exchange-enhanced;

配置文件中包含一系列面向不同通信方式的顶层复合指令:

未包含在上述指令中的其它指令都属于 main

每个不同通信方式中,又可以包含一到多个server指令,用于定义处理请求的虚拟服务器。虚拟服务器的配置内容依赖于不同的通信方式。

对于http,Nginx根据不同域名或IP地址来匹配相应的server处理请求,而server中包含的 location定义了如何处理不同的URI。

mailtcp,Nginx根据请求的TCP端口或Unix套接字来选择server处理请求。

请看以下示例说明:

user nobody; # 属于 main 的简单指令

events {
    # 处理连接的配置
}

http {

    # 针对HTTP的配置,对所含的所有虚拟服务器均有效

    server {
        # 第一个HTTP虚拟服务器配置

        location /one {
            # 处理以 '/one' 开头的URI配置
        }

        location /two {
           # 处理以 '/two' 开头的URI配置
        }
    }

    server {
        # 第二个HTTP虚拟服务器配置
    }
}

stream {
    # 针对TCP的配置,对所含的所有虚拟服务器均有效

    server {
         # 第一个TCP虚拟服务器配置
    }
}

绝大多数指令会继承父指令的配置内容,子指令可以通过重新设置相同的指令来覆盖父指令的设置。

配置文件修改以后,可以通过重启Nginx或发送reload信号给Nginx来让配置生效。

上一篇 下一篇

猜你喜欢

热点阅读