1
目前,我需要把從Nginx的主文件繼承值?
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
}
在每一個網站,我需要運行PHP文件。
有沒有辦法只是把它放在一個「主」,這樣所有的網站將不會有相同的指令重複的副本?
目前,我需要把從Nginx的主文件繼承值?
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
}
在每一個網站,我需要運行PHP文件。
有沒有辦法只是把它放在一個「主」,這樣所有的網站將不會有相同的指令重複的副本?
是像這樣:
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
}
和seper吃了文件/etc/ningx/php-master.conf與作爲內容
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
它實際上並沒有縮短在serverblock代碼多(因爲包含位僅有1線)。但它仍然產生的好處是,你現在可以在一個地方改變你的PHP設置(比如你將你的fastcgi處理器移動到不同的端口或ip)
即使我把這段代碼放在主文件中:'' location〜\ .php $ { fastcgi_pass 127.0.0.1:9000; }' } PHP文件不會在單獨的網站上運行,除非我將相同的代碼放在他們自己的'server {}'塊 – IMB
基本上在後臺nginx將在解釋結果之前用包含文件的內容替換include指令。 (更新我的答案來說明) – cobaco
啊,所以這是它的工作原理。我想這已經夠好了。謝謝 – IMB