Мне нужно определить fastcgi_pass для каждого виртуального хоста. Как я могу определить это глобально?
server {
listen 80;
server_name www.domain.tld;
location / {
root /home/user/www.domain.tld;
index index.html index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/user/domain.tld$fastcgi_script_name;
include fastcgi_params;
}
}
Сделайте файл, который вы можете include
везде, где вам это нужно. Например:
cat > /etc/nginx/php-fpm <<EOF
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
EOF
Затем измените свой location
к include php-fpm;
и исправить root
директива (она должна отображаться под server
, не под location /
; это распространенная неправильная конфигурация nginx).