nginx 配置详解是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 配置详解是啥?相关的知识,希望对你有一定的参考价值。

参考技术A

Nginx配置文件详解:

nginx的主配置文件是nginx.conf,这个配置文件一共由三部分组成,分别为全局块、events块和http块。在http块中,又包含http全局块、多个server块。

每个server块中,可以包含server全局块和多个location块。在同一配置块中嵌套的配置块,各个之间不存在次序关系。

配置文件支持大量可配置的指令,绝大多数指令不是特定属于某一个块的。同一个指令放在不同层级的块中,其作用域也不同,一般情况下,高一级块中的指令可以作用于自身所在的块和此块包含的所有低层级块。

如果某个指令在两个不同层级的块中同时出现,则采用“就近原则”,即以较低层级块中的配置为准。比如,某指令同时出现在http全局块中和server块中,并且配置不同,则应该以server块中的配置为准。

全局块:

全局块是默认配置文件从开始到events块之间的一部分内容,主要设置一些影响Nginx服务器整体运行的配置指令,因此,这些指令的作用域是Nginx服务器全局。

通常包括配置运行Nginx服务器的用户(组)、允许生成的worker process数、Nginx进程PID存放路径、日志的存放路径和类型以及配置文件引入等。

在 nginx 配置中,插入符号 ^ 本身的含义是啥?

【中文标题】在 nginx 配置中,插入符号 ^ 本身的含义是啥?【英文标题】:in nginx config, what is the meaning of caret ^ by itself?在 nginx 配置中,插入符号 ^ 本身的含义是什么? 【发布时间】:2012-02-14 18:00:19 【问题描述】:

你会看到this nginx 配置参考页面有点落后:

rewrite ^ http://example.com$request_uri? permanent;

上面^是什么意思?

【问题讨论】:

【参考方案1】:

对于重写,第一个参数是匹配模式,仅适用于 url 的路径部分,而不适用于域。在正则表达式中,^ 匹配输入的开头。例如,^/photos/.*$ 将匹配以“/photos/”开头的路径。就其本身而言,^ 是所有路径的捷径(因为它们都有一个开始)。

【讨论】:

谢谢!原来我可以数到 2(我把“永久”算作重写结果) 其实,也许我说得太早了。 location doc 似乎说要将配置解释为正则表达式,它必须以 ~ 或 ~* 开头 - 否则配置被解释为文字字符串。我读错了还是重写参数的规则不同?如果规则相同,似乎问题中的 '^' 应该被解释为文字,除非重写为 '~ ^' - 否? 这仅适用于位置配置。如果您查看上面列出的重写配置的语法,您会发现第一个参数是一个正则表达式,不需要 ~ 前缀。

以上是关于nginx 配置详解是啥?的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置文件使用的是啥语言

Nginx主配置参数详解,Nginx配置网站

nginx配置文件详解

Nginx 核心配置详解

Nginx配置文件详解

nginx配置文件详解