Поиск по сайту:

Как установить Lighttpd с PHP-FPM и MariaDB на CentOS 8


Это руководство существует для этих версий ОС

  • CentOS 8
  • CentOS 5.6

На этой странице

  1. Шаг 1. Установите веб-сервер Lighttpd
  2. Шаг 2. Установите сервер базы данных MariaDB.
  3. Шаг 3. Установка и настройка PHP-FPM
  4. Шаг 4. Настройка Lighttpd и PHP-FPM
    1. - Включить модуль FastCGI
    2. - Использование со службой PHP-FPM
    3. – Использование самостоятельной службы PHP

    Lighttpd — это веб-сервер с открытым исходным кодом, ориентированный на простоту и высокую производительность. это легкий веб-сервер с небольшим и низким потреблением памяти, но при этом сохраняющий соответствие стандартам, безопасность и гибкость. Веб-сервер Lighttpd является частью стека LLMP, который обозначает Linux, Lighttpd, MySQL/MariaDB и PHP/PHP-FPM.

    В этом руководстве мы покажем вам, как установить и настроить стек LLMP на сервере CentOS 8. Мы установим веб-сервер Lighttpd с сервером базы данных MariaDB и PHP-FPM на последней версии сервера CentOS 8.

    Предпосылки

    • Сервер CentOS 8
    • Привилегии root
    • Основные сведения о сервере CentOS

    Что мы будем делать?

    • Установите веб-сервер Lighttpd
    • Установите сервер базы данных MariaDB
    • Установить PHP-FPM
    • Настройка Lighttpd и PHP-FPM
    • Тестирование

    Шаг 1 — Установите веб-сервер Lighttpd

    Сначала мы добавим репозиторий EPEL и установим веб-сервер Lighttpd в нашу систему CentOS 8. По умолчанию Lighttpd доступен в репозитории EPEL (Extract Packages for Enterprise Linux).

    Добавьте репозиторий EPEL в систему CentOS 8 с помощью приведенной ниже команды DNF.

    sudo dnf install epel-release

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

    dnf repolist

    Теперь убедитесь, что вы получили репозиторий EPEL по результату.

    Затем установите пакеты Lighttpd, используя приведенную ниже команду.

    sudo dnf install lighttpd -y

    После завершения установки запустите службу Lighttpd и добавьте ее в загрузку системы.

    systemctl start lighttpd
    systemctl enable lighttpd

    Теперь проверьте статус службы Lighttpd, используя следующую команду.

    systemctl status lighttpd

    Ниже приведен результат, который вы получите.

    В результате служба Lighttpd запущена и работает в системе CentOS 8.

    Затем добавьте службу HTTP в список правил firewalld с помощью приведенной ниже команды firewall-cmd.

    firewall-cmd --add-service=http --permanent
    firewall-cmd --reload

    Теперь откройте веб-браузер и введите IP-адрес сервера в адресной строке.

    В результате вы получите index.html по умолчанию для веб-сервера Lighttpd.

    Шаг 2 — Установите сервер базы данных MariaDB

    На этом этапе мы установим сервер базы данных MariaDB и настроим пароль root по умолчанию для сервера MariaDB.

    Чтобы установить сервер базы данных MariaDB, выполните приведенную ниже команду dnf.

    sudo dnf install mariadb-server -y

    После завершения установки запустите службу MariaDB и добавьте ее в загрузку системы.

    systemctl start mariadb
    systemctl enable mariadb

    Теперь проверьте службу MariaDB, используя приведенную ниже команду.

    systemctl status mariadb

    Ниже приведен результат, который вы получите.

    В результате служба MariaDB запущена и работает в системе CentOS 8.

    Затем выполните приведенную ниже команду mysql_secure_installation, чтобы установить пароль root по умолчанию.

    mysql_secure_installation

    Теперь введите новый пароль для вашего сервера MariaDB и введите Y для всех конфигураций.

    Enter current password for root (enter for none): 
    OK, successfully used password, moving on...

    Set a root password? [Y/n] Y
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y

    И корневой пароль MariaDB настроен.

    Затем войдите в оболочку MySQL, используя пользователя root по умолчанию и свой пароль.

    mysql -u root -p

    После входа в систему проверьте всех доступных пользователей на сервере MariaDB, используя следующие запросы.

    select User,Host from mysql.user;

    И вы получите всех пользователей по умолчанию для сервера MySQL. Теперь введите exit, чтобы выйти из оболочки MySQL.

    В результате установка и настройка серверов баз данных MariaDB в системе CentOS 8 завершена.

    Шаг 3 — Установите и настройте PHP-FPM

    На этом этапе мы установим и настроим веб-сервер PHP-FPM для Lighttpd.

    Установите пакеты PHP и PHP-FPM с помощью приведенной ниже команды dnf.

    sudo dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring

    После завершения установки отредактируйте конфигурацию /etc/php-fpm.d/www.conf с помощью редактора vim.

    vim /etc/php-fpm.d/www.conf

    Измените пользователя и группу по умолчанию на Lighttpd, как показано ниже.

    user = lighttpd
    group = lighttpd

    Измените прослушивание PHP-FPM по умолчанию, используя локальный IP-адрес с портом 9000.

    listen = 127.0.0.1:9000

    Сохранить и закрыть.

    Затем отредактируйте конфигурацию PHP /etc/php.ini с помощью редактора vim.

    vim /etc/php.ini

    Раскомментируйте следующую строку, чтобы получить поддержку PHP-CGI для веб-сервера Lighttpd.

    cgi.fix_pathinfo=1

    Сохранить и закрыть.

    Затем запустите службу PHP-FPM и добавьте ее в загрузку системы.

    systemctl start php-fpm
    systemctl enable php-fpm

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

    ss -plnt
    systemctl status php-fpm

    Ниже приведен результат, который вы получите.

    В результате PHP-FPM запущен и работает на сервере CentOS 8 с локальным IP-адресом и портом 9000.

    Шаг 4 — Настройте Lighttpd и PHP-FPM

    На этом этапе мы настроим Lighttpd, чтобы он работал с нашей установкой PHP-FPM.

    По умолчанию Lighttpd можно использовать для обслуживания веб-приложения PHP двумя способами:

    1. Обслуживать через службу PHP-FPM
    2. Обслуживать через самогенерирующийся PHP-CI

    Для этого нам нужно включить модуль FastCGI на веб-сервере Lighttpd и добавить нашу конфигурацию в файл конфигурации модуля FastCGI.

    - Включить модуль FastCGI

    Прежде чем идти дальше, перейдите в каталог /etc/lighttpd/ и отредактируйте файл конфигурации modules.conf с помощью редактора vim.

    cd /etc/lighttpd/
    vim modules.conf

    Раскомментируйте модуль FastCGI, как показано ниже.

    ##
    ## FastCGI (mod_fastcgi)
    ##
    include "conf.d/fastcgi.conf"

    Сохранить и закрыть.

    Далее мы должны добавить нашу конфигурацию PHP в файл конфигурации conf.d/fastcgi.conf.

    Внутри каталога /etc/lighttpd отредактируйте конфигурацию FastCGI conf.d/fastcgi.conf с помощью редактора vim.

    vim conf.d/fastcgi.conf

    - Использование с сервисом PHP-FPM

    Если вы хотите использовать службу PHP-FPM, которая уже запущена на локальном IP-адресе с TCP-портом 9000, вставьте следующую конфигурацию.

    fastcgi.server += ( ".php" =>
            ((
                    "host" => "127.0.0.1",
                    "port" => "9000",
                    "broken-scriptfilename" => "enable"
            ))
    )

    Сохранить и закрыть.

    - Использование самостоятельного спавна PHP-сервиса

    Затем, если вы хотите использовать самогенерирующийся PHP-CGI для Lighttpd, вставьте в него следующую конфигурацию.

    fastcgi.server = ( ".php" => 
            ((
                    "bin-path" => "/usr/bin/php-cgi",
                    "socket" => "/var/run/lighttpd/php.socket",
                    "max-procs" => 4,
                    "bin-environment" => (
                    "PHP_FCGI_CHILDREN" => "",
                    "PHP_FCGI_MAX_REQUESTS" => "500"
                        ),
                    "broken-scriptfilename" => "enable"
            ))
    )

    Сохранить и закрыть.

    Затем создайте новый каталог /var/run/lighttpd и измените владельца этого каталога на пользователя lighttpd.

    mkdir -p /var/run/lighttpd
    sudo chown -R lighttpd:lighttpd /var/run/lighttpd

    Теперь перезапустите службу Lighttpd, чтобы применить новую конфигурацию.

    systemctl restart lighttpd

    Убедитесь, что нет ошибки, и в результате конфигурация Lighttpd с помощью службы PHP-FPM или с использованием порождающего PHP-CGI была успешно завершена.

    Шаг 5 - Тестирование

    Чтобы протестировать нашу установку LLMP, мы создадим новый файл phpinfo в корневом каталоге документа Lighttpd по умолчанию.

    Перейдите в каталог /var/www/lighttpd и создайте новый php-файл info.php с помощью редактора vim.

    cd /var/www/lighttpd/
    vim info.php

    Вставьте в него следующий скрипт.

    <?php
    phpinfo();
    ?>

    Сохранить и закрыть.

    Затем откройте веб-браузер и введите IP-адрес сервера, а затем файл info.php, как показано ниже.

    Теперь вы получите результат, как показано ниже.

    Как видно, PHP-FPM работает с веб-сервером Lighttpd.

    В результате установка стека LLMP (Linux, Lighttpd, MariaDB и PHP-FPM) на сервере CentOS 8 была успешно завершена.

    Шаг 6 — Дополнительно: проверка PHP и сервисов Lighttpd

    Если вы используете Lighttpd с созданной вами службой PHP, используйте приведенную ниже конфигурацию.

    Вы можете проверить службу PHP, используя приведенную ниже команду.

    ss -pl | grep php
    systemctl status php-fpm

    Ниже приведен результат, который вы получите.

    Как видно, самосозданный процесс PHP выполняется в файле с 4 сокетами. Даже служба PHP-FPM не работает, Lighttpd все еще работает для обработки PHP-приложений.