1

現在、私は置く必要があります

location ~ \.php$
{
    fastcgi_pass 127.0.0.1:9000;
}

PHPファイルを実行する必要があるすべてのサイトで。

すべてのサイトが同じディレクティブの重複コピーを持たないように、それを「マスター」に入れる方法はありますか?

4

1 に答える 1

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;
}

サーバーブロックのコードは実際にはあまり短縮されません (含まれているビットは 1 行だけなので)。それでも、php 設定を 1 か所で変更できるという利点があります (たとえば、fastcgi ハンドラーを別のポートまたは IP に移動するとします)。

于 2012-10-18T20:52:18.057 に答える