为什么有些 nginx 配置缺少 http 块?

AGa*_*yer 2 nginx

根据 nginx 初学者指南:

提供静态内容

一项重要的 Web 服务器任务是提供文件(例如图像或静态 HTML 页面)。您将实现一个示例,其中根据请求,将从不同的本地目录提供文件:/data/www(可能包含 HTML 文件)和 /data/images(包含图像)。这将需要编辑配置文件并在 http 块内设置具有两个位置块的服务器块。

但大多数 nginx conf 文件都缺少这http { ... }部分。

我在文档中找不到任何描述它的内容。

这个http { ... }块只是可选的吗?我什么时候应该使用/省略它?

dro*_*kie 6

http {}block 对于服务 HTTP 来说是必不可少的,并且是强制的。问题是,它是在主nginx.conf配置文件中定义的,而不是在包含文件中。因此,包含仅定义一个server {}块,每个虚拟主机至少一个,并且它们实际上包含在主配置文件的块内http {}