У новій реалізації Nginx на Debian 11, після встановлення сайту з Wordpress, файли php у клієнта завантажуюються, а не зображуються.
Проблема в тому, що Nginx не знає як обробляти файли php.
Виявилось, що потрібно вказати виклик fastcgi_pass не через сокет, а через порт.
Як видно з файлу
/etc/php/7.4/fpm/pool.d/www.conf
там вказано що
listen = 127.0.0.1:9000
А за умовчанням у налаштуваннях сайту, наприклад у
/etc/nginx/sites-available/default
вказано відкривати через сокет
Проблема в тому, що Nginx не знає як обробляти файли php.
Виявилось, що потрібно вказати виклик fastcgi_pass не через сокет, а через порт.
Як видно з файлу
/etc/php/7.4/fpm/pool.d/www.conf
там вказано що
listen = 127.0.0.1:9000
А за умовчанням у налаштуваннях сайту, наприклад у
/etc/nginx/sites-available/default
вказано відкривати через сокет
fastcgi_pass unix:/var/run/php5-fpm.sock;
Тому у файлі на кшталт такого, необхідно вибрати потрібну строку fastcgi_pass
location ~ \.php$ {
Тому у файлі на кшталт такого, необхідно вибрати потрібну строку fastcgi_pass
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.4-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php7.4-fpm.sock;
}
Пораду знайшов тут
Пораду знайшов тут
https://stackoverflow.com/questions/25591040/nginx-serves-php-files-as-downloads-instead-of-executing-them
Ще про налаштування php-fpm + nginx
знайшов тут
Ще про налаштування php-fpm + nginx
знайшов тут
https://habr.com/ru/post/454816/
Коментарі
Дописати коментар