Как установить Lighttpd с PHP-FPM и MariaDB на CentOS 8
Это руководство существует для этих версий ОС
- CentOS 8
- CentOS 5.6
На этой странице
- Шаг 1. Установите веб-сервер Lighttpd
- Шаг 2. Установите сервер базы данных MariaDB.
- Шаг 3. Установка и настройка PHP-FPM
- Шаг 4. Настройка Lighttpd и PHP-FPM
- - Включить модуль FastCGI
- - Использование со службой PHP-FPM
- – Использование самостоятельной службы 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 двумя способами:
- Обслуживать через службу PHP-FPM
- Обслуживать через самогенерирующийся 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-приложений.