Nginx配置 - Go语言中文社区

Nginx配置


前言

Nginx及其工作方式是在配置文件中确定的. Nginx配置文件一般包括一个主配置文件和一些辅助配置文件.这些配置文件,全部位于Nginx安装目录之下的conf目录中

在这里插入图片描述

在默认情况下,主配置文件名为nginx.conf,也可以自定义主配置文件并且加载自定义的配置文件启动Nginx.由于除了主配置文件nginx.conf外的文件都是在某些情况下才使用,只有主配置文件是在任何情况下都被使用,所以下面以主配置文件为例,介绍Nginx的配置.

1. 配置命令

Nginx包含由配置文件中指定的命令控制的模块.通常,nginx.conf文件中的命令被分为简单命令和块命令

  • 简单命令

一个简单命令由名称和参数组成,并且以分号结束
命令的名称是一个字符串,可以加单引号和双引号,也可以不加,但是ifugao名称中包含空格,则一定要加双引号
命令参数就是命令对应的配置值,使用空格或者TAB字符与命令名称分隔.命令参数可以是一个或者多个Token串,Token串之间使用空格或者Tab字符分隔,例如

#error_log  logs/error.log  info;

其中"error_log"为命令名称,"咯格式/error.log"和"info"都是命令参数,该配置制定了日志文件和错误日志级别

  • 块命令

块命令与简单命令有着相同的结构,但是不是以分号结束,而是一系列由大括号扩起来的附加命令结束的.如果一个命令在大括号内可以有其他的命令,那么他就被称为一个上下文(例如events,http,server和location)

	location / {
	    root /ftpfile/;
            index index.html index.htm;
	    add_header Access-Control-Allow-Origin *;
    	    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    	    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    if ($request_method = 'OPTIONS') {
        return 204;
   		 }
	}

  • 注释
    配置文件以#号开头的行

2. 配置上下文

在上一节讲到了配置上下文的概念

nginx.conf文件中的配置信息,根据其逻辑上的意义被分成了很多的作用域,不同的作用域利用大括号来限定.这些大括号限定的区域被成为上下文,其中容纳着相关配置细节.不同的作用域含有一个或者多个配置项,这些区域负责提供组织化结构,用于决定是否应用其中包含的配置

Nginx的几个主要命令的上下文介绍如下
在这里插入图片描述

上下文可能会包含的情况,通常http和email一定在main中,server在http中,location在server中.在一个上下文中,可能包含多个其他类型的上下文.例如,如果HTTP服务支持了多个虚拟主机只能作用于,那么在http里,就会出现多个server.命令只能作用于其设计所面向的对应上下文.Nginx会将超出指定上下文的命令视为错误.在Nginx官网详细介绍了每个命令使用的上下文.

3. 配置文件结构

nginx文件的组织方式采用树状结构

nginx由受配置文件中指定的指令控制的模块组成。伪指令分为简单伪指令和块伪指令。一个简单的指令由名称和参数组成,这些名称和参数之间用空格分隔,并以分号(;)结尾。块指令的结构与简单指令的结构相同,但是它以分号(而不是分号)结尾,并带有一组用括号({和})括起来的附加指令。如果块指令在花括号内可以有其他指令,则称为上下文(示例: events, http, server和 location)。

放置在任何上下文外部的配置文件中的指令都被视为在 主上下文中。在events和http指令驻留在main上下文server 中http,并location在 server。

#符号 后的其余行被视为注释。

4. 配置变量

Nginx配置文件支持使用变量,可以使用内置变量,也可以自定义变量

  • 内置变量

在这里插入图片描述

Nginx变量名前面有一个 符 号 , 这 是 语 法 上 的 要 求 . 在 配 置 文 件 中 引 用 变 量 时 都 必 须 加 符号,这是语法上的要求.在配置文件中引用变量时都必须加 前缀.

  • 自定义变量

用户也可以自定义变量,语法为:set var_name value

6. 模块化体系

在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43404791/article/details/106151630
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-03 15:53:52
  • 阅读 ( 220 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢