社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
Nginx及其工作方式是在配置文件中确定的. Nginx配置文件一般包括一个主配置文件和一些辅助配置文件.这些配置文件,全部位于Nginx安装目录之下的conf目录中
在默认情况下,主配置文件名为nginx.conf,也可以自定义主配置文件并且加载自定义的配置文件启动Nginx.由于除了主配置文件nginx.conf外的文件都是在某些情况下才使用,只有主配置文件是在任何情况下都被使用,所以下面以主配置文件为例,介绍Nginx的配置.
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;
}
}
在上一节讲到了配置上下文的概念
nginx.conf文件中的配置信息,根据其逻辑上的意义被分成了很多的作用域,不同的作用域利用大括号来限定.这些大括号限定的区域被成为上下文,其中容纳着相关配置细节.不同的作用域含有一个或者多个配置项,这些区域负责提供组织化结构,用于决定是否应用其中包含的配置
Nginx的几个主要命令的上下文介绍如下
上下文可能会包含的情况,通常http和email一定在main中,server在http中,location在server中.在一个上下文中,可能包含多个其他类型的上下文.例如,如果HTTP服务支持了多个虚拟主机只能作用于,那么在http里,就会出现多个server.命令只能作用于其设计所面向的对应上下文.Nginx会将超出指定上下文的命令视为错误.在Nginx官网详细介绍了每个命令使用的上下文.
nginx文件的组织方式采用树状结构
nginx由受配置文件中指定的指令控制的模块组成。伪指令分为简单伪指令和块伪指令。一个简单的指令由名称和参数组成,这些名称和参数之间用空格分隔,并以分号(;)结尾。块指令的结构与简单指令的结构相同,但是它以分号(而不是分号)结尾,并带有一组用括号({和})括起来的附加指令。如果块指令在花括号内可以有其他指令,则称为上下文(示例: events, http, server和 location)。
放置在任何上下文外部的配置文件中的指令都被视为在 主上下文中。在events和http指令驻留在main上下文server 中http,并location在 server。
#符号 后的其余行被视为注释。
Nginx配置文件支持使用变量,可以使用内置变量,也可以自定义变量
Nginx变量名前面有一个 符 号 , 这 是 语 法 上 的 要 求 . 在 配 置 文 件 中 引 用 变 量 时 都 必 须 加 符号,这是语法上的要求.在配置文件中引用变量时都必须加 符号,这是语法上的要求.在配置文件中引用变量时都必须加前缀.
用户也可以自定义变量,语法为:set var_name value
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!