美文网首页
nginx 配置文件结构

nginx 配置文件结构

作者: 偷油考拉 | 来源:发表于2021-12-07 11:55 被阅读0次

一、配置文件结构

nginx由配置文件中配置的指令所控制的模块组成。
指令被区分为:简单指令simple directives,块指令 block directives

简单指令 simple directive

简单指令由名称 (name) 和参数 (parameters) 组成,以空格分隔,以分号结尾。

块指令 block directive

块指令与简单指令结构类似,但不是分号结尾,而是由大括号({})包围的一组附加指令。
如果块指令在大括号内包含了其他指令,则称其为上下文 context,例如:

配置文件中,不在任何上下文内的指令,被视为位于主上下文 main context 中。事件和http指令位于主上下文、http中的服务器和服务器中的位置。
events and http 指令在main context 内,serverhttp内,locationserver 内。

# 后的内容代表注释。

二、创建配置文件

NGINX 配置文件的基本元素,包含:指令directives 、 上下文contexts

NGINX 和其他服务一样,配置文件都是特定格式的文本文件。默认,文件名是 nginx.conf,位于 /etc/nginx 目录。(也有可能是/usr/local/nginx/conf, or /usr/local/etc/nginx,取决于各自安装环境。)

指令 Directives

配置文件由指令和它们的参数组成。
简单指令Simple (single‑line) directives 由分号结尾;
其他指令,像 容器containers 一样,把相关的指令聚合到一起,以大括号 ( {} )包含起来;通常引用为blocks.

如下是简单指令的一些范例:

user             nobody;
error_log        logs/error.log notice;
worker_processes 1;
特定配置 Feature-Specific Configuration Files

为了简化配置的管理,建议将特定功能分开,一些feature‑specific files存放到/etc/nginx/conf.d目录,在主文件nginx.conf中使用include指令引用。

include conf.d/http;
include conf.d/stream;
include conf.d/exchange-enhanced;
上下文 Contexts

一些 top‑level 指令,作为 contexts,将应用于不同流量类型的一些指令组合在一起:

  • events – General connection processing
  • http – HTTP traffic
  • mail – Mail traffic
  • stream – TCP and UDP traffic

在这些 contexts 的 Directives 被认为在 main context 内。

虚拟主机 Virtual Servers

在每个处理流量的上下文中,你可以包含一个or多个 server 块来定义 virtual serversvirtual servers 配置请求的处理。server 上下文内可以包含的指令,取决于流量类型。

  • HTTP 数据流
    the http context
    每个 server 指令都控制着特定域或IP地址的请求的处理。
    server下的 location 上下文,则定义如何处理指定的URIs集。

  • mail and TCP/UDP 数据流
    the mail and stream contexts
    server 指令控制着到达特定 TCP port or UNIX socket 的数据流的处理。

多上下文配置范例 Sample Configuration File with Multiple Contexts

如下配置文件展示了上下文的架构。

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 
    }
}

继承 Inheritance

通常,child 上下文 – 包含在另外一个上下文 (its parent) 中的上下文 – 继承父层的指令设置。一些指令可以出现在多个上下文中,这种情况下,child context 的指令可以覆写继承自 parent context 的指令设置。比如:proxy_set_header 指令。

相关文章

  • 第二讲 Nginx模块详解

    本章要点 Nginx 配置文件结构 各个模块的详解 2.1 Nginx配置文件结构 Nginx的配置文件nginx...

  • Nginx 之基础配置解释

    作者:Gakki 配置文件结构 nginx 的配置文件在 /nginx/conf/nginx.conf 下,打开...

  • NGINX配置文件

    1. 配置文件结构 我们从nginx安装后默认的配置文件,去了解nginx配置文件的结构 我们剔除文件里面的基础指...

  • Nginx配置文件说明和优化

    1) nginx文件结构和配置文件说明 2) Nginx优化

  • Nginx配置文件详解

    一、Nginx的配置文件的整体结构 Nginx是通过配置文件来做到各个功能的实现的。Nginx的配置文件的格式非常...

  • Nginx软件应用

    一、目录结构 配置文件目录、 站点目录、 日志目录 1、配置文件目录 nginx/nginx.conf ...

  • 002.nginx.conf配置以及虚拟站点配置

    1.Nginx目录结构 2.Nginx全局配置 conf/nginx.conf 3.站点配置文件,通过全局配置文件...

  • nginx基础知识

    nginx主配置文件 nginx.conf 配置文件结构如下: location匹配规则 语法规则location...

  • Nginx配置文件简介

    一、从一个简单的Nginx配置文件入手 如何使用自定义的配置文件 Nginx配置文件的结构 二、Nginx服务的基...

  • Nginx(二)

    一、nginx目录结构和命令 二、配置文件的组成部分 三、主配置文件结构: 四部 四、nginx配置 五、http...

网友评论

      本文标题:nginx 配置文件结构

      本文链接:https://www.haomeiwen.com/subject/cpfnxrtx.html