Nginx配置文件基本介绍

NGINX和NGINX Plus与其他服务类似,因为它们使用以特定格式编写的基于文本的配置文件。默认情况下,该文件名为nginx.conf,而NGINX Plus则放在/ 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指令来引用内容特定于功能的文件。

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

背景

一些顶级指令(称为上下文)将适用于不同流量类型的指令组合在一起:

  • event- 一般连接处理
  • http - HTTP流量
  • mail - 邮件流量
  • stream - TCP和UDP流量

虚拟服务器

在每个流量处理上下文中,您包含一个或多个服务器块,以定义控制请求处理的虚拟服务器。您可以包含在服务器上下文中的指令因流量类型而异。

对于HTTP流量(http上下文),每个服务器指令控制对特定域或IP地址的资源请求的处理。服务器上下文中的一个或多个位置上下文定义了如何处理特定的URI集。

对于邮件和TCP / UDP流量(邮件和流上下文),服务器指令各自控制到达特定TCP端口或UNIX套接字的流量的处理。

具有多个上下文的示例配置文件

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 starting with '/one'
        }
        location /two {
            # configuration for processing URIs starting with '/two'
        }
    } 
    
    server {
        # configuration of HTTP virtual server 2
    }
}

stream {
    # Configuration specific to TCP/UDP and affecting all virtual servers
    server {
        # configuration of TCP virtual server 1 
    }
}

通常,子上下文 - 包含在另一个上下文(其父项)中的子上下文 - 继承父级别包含的指令的设置。某些指令可以出现在多个上下文中,在这种情况下,您可以通过在子上下文中包含该指令来覆盖从父项继承的设置。有关示例,请参阅proxy_set_header指令。

重新加载配置

要使配置文件的更改生效,必须重新加载。您可以重新启动nginx进程或发送重载信号以升级配置,而不会中断当前请求的处理。有关详细信息,请参阅在运行时控制NGINX进程。

猜你喜欢

转载自blog.csdn.net/u013702678/article/details/83963530