比方说,我有一个网站的Nginxconfiguration。
# /etc/nginx/sites-available/my-site server { ... }
但我想sendfile off; 为该网站设置。 我可以在文件的开头添加一个http块吗?
# /etc/nginx/sites-available/my-site http { sendfile off; } server { ... }
这甚至会工作吗? 它会对所有网站产生全球影响吗?
我认为nginx非官方支持多个http块,但通常你只会有一个。
这个想法是,你有一个单一的http块/上下文,然后在http块中的一个或多个服务器块。 在服务器块内,可以有一个或多个位置块。
configuration设置是inheritance的,可以使用上面的嵌套方法重写。
关于sendfile,它可以在任何块中configuration:
Syntax: sendfile on | off; Default: sendfile off; Context: http, server, location, if in location
(请参阅: http : //nginx.org/en/docs/http/ngx_http_core_module.html#sendfile )
因此,您可以简单地添加“sendfile off” 到你的服务器块,这将覆盖http块中设置的sendfile值。