Задать вопрос

Nginx + php-fpm file not found почему?

Установил nginx + php-fpm, настроил файл для nginx и создал в нем правило для перенаправления на index.php:
upstream php-handler {
         server unix:/run/php/php7.0-fpm.sock;
        }

server{
        listen  80;
        server_name  education.clouder.xyz;
        root   /var/www/education/;
        index index.php;

        location / {
                try_files $uri $uri/ =404;
                rewrite ^(.+)$ /index.php?url=$1;

        }

        location ~ \.php(?:$|/) {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
                fastcgi_pass php-handler;
                fastcgi_intercept_errors on;
        }
}


Когда в браузере пытаюсь открыть любой файл php (например education.clouder.xyz/index2.php), отличный от index.php то выдает ошибку file not found. Все остальное отлично перенаправляется на index.php. Почему так? В чем ошибка?
  • Вопрос задан
  • 12155 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Denis Michurin К ответам на вопрос (2)
denistu10
@denistu10
Linux System Administrator/SRE Engineer
Уберите апстрим
и в location пропишите
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
Перезапустите nginx и проверьте
Ответ написан