Настройка возможности работы nginx с PHP файлами.
Работа nginx с PHP обеспечивается службой php-fpm.
Устанавливаем сервис php-fpm:
# install nginx php-fpm
Смотрим текущую версию php в системе
# php -v
PHP 8.2.28 (cli) (built: Mar 13 2025 18:21:38) (NTS)
В моем случае - это 8.2
Конфигурационный файл серввиса php-fpm: /etc/php/8.2/fpm/pool.d/www.conf
ini файл настроек PHP: /etc/php/8.2/fpm/php.ini
Заходим в конфигурацию php-fpm для версии 8.2:
# nano /etc/php/8.2/fpm/pool.d/www.conf
Здесь ищем директиву "listen", которая определяет, что будет прослушивать запущенный процесс php-fpm.
В нашей случае - указан сокет. Отлично, фиксируем путь к сокету
listen = /run/php/php8.2-fpm.sock
# php -v
PHP 8.2.28 (cli) (built: Mar 13 2025 18:21:38) (NTS)
В моем случае - это 8.2
Конфигурационный файл серввиса php-fpm: /etc/php/8.2/fpm/pool.d/www.conf
ini файл настроек PHP: /etc/php/8.2/fpm/php.ini
Заходим в конфигурацию php-fpm для версии 8.2:
# nano /etc/php/8.2/fpm/pool.d/www.conf
Здесь ищем директиву "listen", которая определяет, что будет прослушивать запущенный процесс php-fpm.
В нашей случае - указан сокет. Отлично, фиксируем путь к сокету
listen = /run/php/php8.2-fpm.sock
Теперь находим конфигурационный файл nginx и для сервере, у которого необходимо включить PHP
# nano /etc/nginx/sites-enabled/<file>.conf
Добавляем конфигурацию для php в конец блока "server"
server {
listen 80;
listen 443 ssl;
...
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Рестартуем NGINX и PHP-FPM:
# systemctl restart nginx
# systemctl restart php8.2-fpm
# systemctl restart nginx
# systemctl restart php8.2-fpm
Логи ошибок php-fpm будут тут /var/log/nginx/error.log
Комментариев нет:
Отправить комментарий