Установка Nginx · 3 min read · Sep 30, 2025

Как установить и настроить Nginx с поддержкой PHP-FPM на CentOS 8

Nginx — это бесплатный, с открытым исходным кодом и один из самых мощных веб-серверов в мире. Он в основном используется для высоконагруженных и высокотрафиковых веб-сайтов. Nginx известен своей стабильностью, простой конфигурацией и низким потреблением ресурсов. Вы можете использовать Nginx как веб-сервер и обратный прокси.

FPM (FastCGI Process Manager) — это альтернативная реализация PHP FastCGI и используется для высоконагруженных веб-сайтов. Обычно он используется с веб-сервером для обслуживания PHP-страниц. PHP-FPM использует меньше памяти и процессора по сравнению с любым другим методом запуска PHP. PHP-FPM быстрее, чем традиционные методы на основе CGI для многопользовательских PHP-сред. PHP-FPM также позволяет запускать несколько версий PHP одновременно.

Этот учебник научит нас, как установить Nginx с поддержкой PHP-FPM на CentOS 8.

Предварительные требования

  • Сервер с установленной CentOS 8.
  • Настроен root-пароль на вашем сервере.

Начало работы

По умолчанию SELinux включен на сервере CentOS 8. Поэтому вам нужно будет сначала отключить его.

Вы можете сделать это, отредактировав файл /etc/selinux/config:

nano /etc/selinux/config

Внесите следующие изменения:

SELINUX=disabled

Сохраните и закройте файл. Затем перезагрузите сервер, чтобы применить изменения.

Установка веб-сервера Nginx

Сначала установите веб-сервер Nginx с помощью следующей команды:

yum install nginx -y

После установки Nginx запустите службу Nginx и включите ее автозагрузку при старте системы с помощью следующей команды:

systemctl start nginx  
systemctl enable nginx

После завершения вы можете перейти к следующему шагу.

Установка PHP и PHP-FPM

Далее установите PHP и PHP-FPM, выполнив следующую команду:

yum install php php-cli php-common php-fpm -y

После установки всех пакетов запустите службу PHP-FPM и включите ее автозагрузку после перезагрузки системы:

systemctl start php-fpm  
systemctl enable php-fpm

Вы также можете проверить статус службы PHP-FPM с помощью следующей команды:

systemctl status php-fpm

Вы должны получить следующий вывод:

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Создание индексной страницы для Nginx

Далее вам нужно будет создать пример страницы info.php, чтобы проверить, использует ли Nginx PHP-FPM или нет.

Вы можете создать info.php в стандартном корневом каталоге документов Nginx, как показано ниже:

nano /var/www/html/info.php

Добавьте следующие строки:

Сохраните и закройте файл, когда закончите.

Далее измените владельца файла info.php на nginx:

chown -R nginx: /var/www/html/info.php/

Настройка Nginx с PHP-FPM

Далее вам нужно будет создать файл конфигурации виртуального хоста Nginx и включить поддержку PHP-FPM.

Вы можете создать его с помощью следующей команды:

nano /etc/nginx/conf.d/example.conf

Добавьте следующие строки:

server {
    listen 80;
    server_name example.com;
    root /var/www/html/;
    index info.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

Сохраните и закройте файл. Затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:

ginx -t

Далее включите файл виртуального хоста Nginx и перезапустите службу Nginx, чтобы применить конфигурацию:

systemctl restart nginx

Тестирование Nginx с поддержкой PHP-FPM

Теперь откройте веб-браузер и введите URL http://example.com. Вы будете перенаправлены на следующую страницу:

На вышеуказанной странице вы должны увидеть, что PHP-FPM загружен с веб-сервером Nginx.

Заключение

Поздравляем! вы успешно установили Nginx с поддержкой PHP-FPM на сервере CentOS 8. Теперь вы можете использовать PHP-FPM для размещения нескольких веб-сайтов, использующих разные версии PHP.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.