目前,我需要提出
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
}
在我需要运行PHP文件的每个站点中。
有没有办法将它放在“主”中,以便所有网站都不会有同一指令的重复副本?
答案 0 :(得分:1)
是这样的:
include /etc/nginx/master.conf;
有关详细信息,请参阅http://nginx.org/en/docs/ngx_core_module.html#include
换句话说,你有:
server {
servername a;
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;}
#rest of server a config
}
server {
servername b;
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;}
#rest of server b config
}
你现在有:
server {
servername a;
include /etc/nginx/php-master.conf;
#rest of server a config
}
server{
servername b;
include /etc/nginx/php-master.conf;
#rest of server b config
}
和一个单独的文件/etc/ningx/php-master.conf,内容为
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
它实际上并没有太多地缩短serverblock中的代码(因为包含的位只有1行)。但它仍然产生的优势是你现在可以在一个地方更改你的php设置(比如你将你的fastcgi处理程序移动到另一个端口或ip)