現在、私は置く必要があります
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
}
およびコンテンツとしての別のファイル /etc/ningx/php-master.conf
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
サーバーブロックのコードは実際にはあまり短縮されません (含まれているビットは 1 行だけなので)。それでも、php 設定を 1 か所で変更できるという利点があります (たとえば、fastcgi ハンドラーを別のポートまたは IP に移動するとします)。