@HPositron

Почему Nginx FastCGI перестает работать на другом домене?

Существует рабочий конфигурационный файл виртуального хоста в nginx. Данный конфиг был скопирован для другого домена (было заменено server_name), после этого первый хост продолжил работать как раньше, а второй подключился, но выдает все php файлы на скачивание, а не выполняет.
В конфиге присутствует:
location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Полный конфиг

server {
 
    gzip on;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

    server_name superdomain.com;
#   server_name 00.00.000.000;
    root /var/www/site/public;
    
    index index.html index.htm index.php;

    charset utf-8;

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
    
    access_log off;
    error_log  /var/log/nginx/laravel.log error;

    error_page 404 /index.php;

    sendfile off;

    location ~ /google.*\.html$ {
        root /var/www/site;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /in/web/.*\.php$ {
        root /var/www/in/web;
        try_files $uri /in/web/index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }


    location / {
        try_files $uri $uri/ /index.php?$query_string;
    expires max;
    }


    location /in/web/ {
        try_files $uri $uri/ /in/web/index.php?$query_string;
    expires max;
    }

    location ~ /image/ {
        proxy_cache thumbs;
        proxy_cache_valid  200      24h;
        proxy_cache_valid  404 415  1m;
        if ($args ~* "/?crop&w=[-0-9]+&h=[-0-9]") {
           proxy_pass http://127.0.0.1:8081/crop/${arg_w}x${arg_h}$uri;
        }
        if ($args ~* "/?resize&w=[-0-9]+&h=[-0-9]") {
           proxy_pass http://127.0.0.1:8081/resize/${arg_w}x${arg_h}$uri;
        }
    }
    
    location ~ /\.ht {
        deny all;
    }

}


Второй домен (на котором не работает) кириллический! Записан при помощи punycode. Это важно?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
Скорее всего проблема в строке fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;, проверьте, существует ли файл /var/run/php/php7.0-fpm.sock, он может по-другому называться ( к примеру /var/run/php/php8.1-fpm.sock) или вообще отсутствовать. Если его нет - проверьте установлен ли php-fpm и запущена ли соответствующая служба
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы