Назад | Перейти на главную страницу

Установить глобальную обработку скриптов PHP в NGINX + PHP-FPM

Мне нужно определить 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).