私は現在nginxをテストしており、各仮想ホストの構成をsites-enabled
というフォルダー内の独自のファイルに配置することでいくつかの仮想ホストをセットアップしました。
次に、nginxに以下を使用してこれらすべての構成ファイルをロードするように依頼します。
include C:/nginx/sites-enabled/*.conf;
これは私の現在の設定です:
http {
server_names_hash_bucket_size 64;
include mime.types;
include C:/nginx/sites-enabled/*.conf;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
root C:/www-root;
#charset koi8-r;
#access_log logs/Host.access.log main;
location / {
index index.html index.htm index.php;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server{
server_name localhost;
}
}
そして、これは仮想ホストの構成の1つです。
server {
server_name testsubdomain.testdomain.com
root C:/www-root/testsubdomain.testdomain.com;
}
問題は、testsubdomain.testdomain.comの場合、fastcgiパラメーターを使用してロケーションブロックを定義しない限り、phpスクリプトを実行できないことです。
私がやりたいのは、このサーバー上のすべてのホストされたサイトに対してPHPを有効にできるようにすることです(fastcgiパラメーターを使用してPHPロケーションブロックを追加する必要はありません) )保守性のため。これは、PHPのfastcgi値を変更する必要がある場合に、1か所で変更できるようにするためです。
これはnginxで可能なことですか?もしそうなら、これはどのように行うことができますか?
私は通常、Nginxconfigフォルダー内のconf.dフォルダーに「グローバル」フォルダーを作成します。次に、php.confファイルを作成します。
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
そして、仮想ホストにすべての構成ファイルを含めるだけです。
include C:/nginx/conf.d/global/*.conf