在 Chef 部署的 Nginx 服务器中扩展 mime 类型
extending mime types in a Chef deployed Nginx server
我希望在我的 Nginx 配置中扩展 mime 类型。
我了解到原则上我可以编辑 mime.types 文件,或者在配置的 http
块中包含 mime.types 之后,您可以按照 include mime.types
用 types = {...}
附加更多类型 a la this answer.
由于我使用 Chef 设置 Nginx,我在 sites-enabled 文件夹中有一个模板化配置,它包含在 Nginx 配置中。我宁愿不必模板化 nginx 配置或 mime.types 文件,所以我希望可以在启用站点的配置文件中获取它。
本着与上述 linked 问题相似的精神,我可以将其包含在我的启用站点的文件中以获得相同的效果吗?
http {
types {
# here is additional types
}
}
我的工作理论是,如果块按照上面 link 中的描述工作,添加这样的块不会覆盖 Nginx 配置中的 http
块,但会像我一样扩展它已将 types
直接添加到 nginx.conf
中的 http
块。
这是一个有效的策略吗?还是我忽略了一些更容易的事情?
尽管文档中没有明确说明,nginx
types 指令在继承方面似乎与其他指令类似。
当且仅当当前级别上没有定义 type
指令时,该指令才从上一级别继承。
types
指令可能出现在 http
、server
或 location
块级别。
要扩展 mime 类型(而不是重新定义它们),可以在任何包含 http
、server
或 [=17= 的文件中添加一个 types
块。 ] 上下文。
但是如果你在server
或者location
层级添加一个types
块,你应该在同一层级再添加一个include mime.types
语句,以免丢失系统默认值。
在您启用站点的文件中:
# (1)
server {
# (2)
location ... {
# (3)
}
}
如果您的启用站点的文件包含 server { ... }
块定义,您可以在位置 (1) 添加一个类型块,这将增加主 nginx.conf
文件已经加载的 mime 类型。
但是,如果您在位置 (2) 或 (3) 中添加了一个类型块,您还需要添加一个 include
语句以再次引入系统类型:
server {
include mime.types;
types { ... }
...
}
types
指令是 documented here。
我希望在我的 Nginx 配置中扩展 mime 类型。
我了解到原则上我可以编辑 mime.types 文件,或者在配置的 http
块中包含 mime.types 之后,您可以按照 include mime.types
用 types = {...}
附加更多类型 a la this answer.
由于我使用 Chef 设置 Nginx,我在 sites-enabled 文件夹中有一个模板化配置,它包含在 Nginx 配置中。我宁愿不必模板化 nginx 配置或 mime.types 文件,所以我希望可以在启用站点的配置文件中获取它。
本着与上述 linked 问题相似的精神,我可以将其包含在我的启用站点的文件中以获得相同的效果吗?
http {
types {
# here is additional types
}
}
我的工作理论是,如果块按照上面 link 中的描述工作,添加这样的块不会覆盖 Nginx 配置中的 http
块,但会像我一样扩展它已将 types
直接添加到 nginx.conf
中的 http
块。
这是一个有效的策略吗?还是我忽略了一些更容易的事情?
尽管文档中没有明确说明,nginx
types 指令在继承方面似乎与其他指令类似。
当且仅当当前级别上没有定义 type
指令时,该指令才从上一级别继承。
types
指令可能出现在 http
、server
或 location
块级别。
要扩展 mime 类型(而不是重新定义它们),可以在任何包含 http
、server
或 [=17= 的文件中添加一个 types
块。 ] 上下文。
但是如果你在server
或者location
层级添加一个types
块,你应该在同一层级再添加一个include mime.types
语句,以免丢失系统默认值。
在您启用站点的文件中:
# (1)
server {
# (2)
location ... {
# (3)
}
}
如果您的启用站点的文件包含 server { ... }
块定义,您可以在位置 (1) 添加一个类型块,这将增加主 nginx.conf
文件已经加载的 mime 类型。
但是,如果您在位置 (2) 或 (3) 中添加了一个类型块,您还需要添加一个 include
语句以再次引入系统类型:
server {
include mime.types;
types { ... }
...
}
types
指令是 documented here。