NGINX 最小配置

2024 年 8 月 29 日 | 阅读 3 分钟

一个安全的服务器是只允许所需功能的服务器。理想情况下,我们应该基于最小系统构建服务器,并单独启用其他功能。使用最小配置也有助于调试。如果最小系统中没有错误,则单独添加功能并继续搜索错误。

以下是运行 nginx 所需的最小配置

Root、location 和 try_files 指令

root 指令

root 指令用于设置请求的根目录,允许 nginx 将传入的请求映射到文件系统。

它允许 nginx 根据请求返回服务器内容

Location 指令

location 指令用于根据请求的 URI(统一资源标识符)设置配置。

语法是

示例

如果没有给出修饰符,则该路径被视为前缀,之后可以跟随任何内容。上面的例子会匹配

我们也可以在给定的上下文中使用多个 location 指令

Nginx 还提供了一些修饰符,可以与 location 指令一起使用。

修饰符有指定的优先级

首先,nginx 将检查是否有任何完全匹配。如果不存在,它将寻找优先匹配项。如果此匹配也失败,则将按照它们出现的顺序测试正则表达式匹配。如果其他所有操作都失败,则将使用最后一个前缀匹配。

try_files 指令

此指令尝试不同的路径,并将返回找到的路径。

因此 /foo.html 将尝试按以下顺序返回文件

  • $uri (/foo.html);
  • index.html
  • 如果未找到:404

如果我们在服务器上下文中定义 try_files,然后定义一个查找所有请求的位置,我们的 try_files 将不会被执行。发生这种情况是因为服务器上下文中的 try_files 定义了它的伪位置,这是最不具体的位置。因此,定义 location / 将比我们的伪位置更具体。

因此,我们应该避免在服务器上下文中使用 try_files


下一主题NGINX 反向代理