假设我有一个站点的 Nginx 配置。
# /etc/nginx/sites-available/my-site
server {
...
}
Run Code Online (Sandbox Code Playgroud)
但我想sendfile off;为那个网站设置。我可以http在文件的开头添加一个块吗?
# /etc/nginx/sites-available/my-site
http {
sendfile off;
}
server {
...
}
Run Code Online (Sandbox Code Playgroud)
这甚至会起作用吗?它会对所有网站产生全球影响吗?
我认为 nginx 确实非正式地支持多个 http 块,但通常你只会有一个。
这个想法是你有一个单一的 http 块/上下文,然后在 http 块内有一个或多个服务器块。在服务器块中,您可以有一个或多个位置块。
配置设置是继承的,可以使用上述嵌套方法覆盖。
关于sendfile,它可以在任何块中配置:
Syntax: sendfile on | off;
Default: sendfile off;
Context: http, server, location, if in location
Run Code Online (Sandbox Code Playgroud)
(参见:http : //nginx.org/en/docs/http/ngx_http_core_module.html#sendfile)
因此,您可以简单地添加“sendfile off;” 到您的服务器块,这将覆盖在 http 块中设置的 sendfile 值。
简短回答:不需要,在您的站点配置中,您已经在 http{} 块中。
例如。CentOS 7 的默认 nginx.conf 如下所示:
#...
events {
#...
}
http {
#...
include /etc/nginx/conf.d/*.conf;
#...
server {
#...
}
}
Run Code Online (Sandbox Code Playgroud)
所以,你的例子可能只是:
# /etc/nginx/sites-available/my-site
sendfile off;
# Any http block specific directives (like map) can also go here
}
server {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3195 次 |
| 最近记录: |