В настоящее время я тестирую 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;
}
}
А это одна из конфигов виртуального хоста:
server {
server_name testsubdomain.testdomain.com
root C:/www-root/testsubdomain.testdomain.com;
}
Проблема в том, что для testsubdomain.testdomain.com я не могу запустить скрипты php, если я не определил для него блок местоположения с параметрами fastcgi.
Что я хотел бы сделать, так это иметь возможность включить PHP для всех размещенных сайтов на этом сервере (без необходимости добавлять блок местоположения PHP с параметрами fastcgi) для удобства обслуживания. Это сделано для того, чтобы, если мне нужно изменить какие-либо значения fastcgi для PHP, я могу просто изменить его в одном месте.
Возможно ли это для nginx? Если да, то как это можно сделать?
Обычно я создаю «глобальную» папку в папке conf.d внутри папки конфигурации Nginx. А затем создайте файл 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