LEMP – это программный стек, который включает в себя набор бесплатных и открытых инструментов, используемых для обслуживания сайтов с высоким трафиком и динамичным контентом. LEMP – это аббревиатура от Linux, Nginx (произносится как Engine X), MariaDB / MySQL и PHP.
Nginx – это открытый, надежный и высокопроизводительный веб-сервер, который также может использоваться как обратный прокси. MariaDB – это система баз данных, используемая для хранения пользовательских данных, а PHP – это серверный скриптовый язык, используемый для разработки и поддержки динамических веб-страниц.
Связанная статья: Как установить сервер LAMP на CentOS 8
В этой статье вы узнаете, как установить сервер LEMP на дистрибутиве Linux CentOS 8.
Шаг 1: Обновление программных пакетов на CentOS 8
Для начала обновите репозитории и программные пакеты на Linux CentOS 8, выполнив следующую команду dnf.
$ sudo dnf update

Шаг 2: Установка веб-сервера Nginx на CentOS 8
После завершения обновления пакетов установите Nginx, используя простую команду.
$ sudo dnf install nginx

Фрагмент показывает, что установка Nginx прошла без каких-либо проблем.

Когда установка будет завершена, настройте Nginx, чтобы он запускался при загрузке, и проверьте, работает ли Nginx, выполнив команды.
$ sudo systemctl enable nginx $ sudo systemctl start nginx $ sudo systemctl status nginx

Чтобы проверить установленную версию Nginx, выполните команду.
$ nginx -v

Если вас одолевает любопытство и вы хотите узнать больше информации о Nginx, выполните следующую rpm команду.
$ rpm -qi nginx

Чтобы подтвердить, что ваш сервер Nginx работает с помощью браузера, просто введите IP-адрес вашей системы в адресную строку и нажмите ENTER.
http://server-IP
Вы должны увидеть веб-страницу с надписью «Добро пожаловать в Nginx», что является индикатором того, что ваш веб-сервер Nginx работает и функционирует.

Шаг 3: Установка MariaDB на CentOS 8
MariaDB – это бесплатный и открытый форк MySQL, который предлагает последние функции, делающие его лучшей заменой MySQL. Чтобы установить MariaDB, выполните команду.
$ sudo dnf install mariadb-server mariadb

Чтобы MariaDB автоматически запускалась при загрузке, выполните.
$ sudo systemctl enable mariadb
Чтобы запустить сервер MariaDB, выполните команду.
$ sudo systemctl start mariadb
После установки используйте приведенную ниже команду, чтобы проверить её статус.
$ sudo systemctl status mariadb

Система управления базами данных MariaDB небезопасна и позволяет входить без учетных данных. Чтобы усилить MariaDB и защитить её для минимизации шансов несанкционированного доступа, выполните команду.
$ sudo mysql_secure_installation
Далее следует серия запросов. Первый из них требует установить пароль root. Нажмите ENTER и введите Y
для Да, чтобы указать пароль root.

После установки пароля ответьте на оставшиеся вопросы, чтобы удалить анонимного пользователя, удалить тестовую базу данных и отключить удаленный вход для root.

После выполнения всех шагов вы можете войти на сервер MariaDB и проверить информацию о версии сервера MariaDB (укажите пароль, который вы задали при обеспечении безопасности сервера).
$ mysql -u root -p

Шаг 4: Установка PHP 7 на CentOS 8
Наконец, мы собираемся установить последний компонент стека LEMP, который представляет собой PHP, скриптовый язык веб-программирования, обычно используемый для разработки динамических веб-страниц.
На момент написания этого руководства последняя версия – PHP 7.4. Мы собираемся установить это, используя репозиторий Remi. Репозиторий Remi – это бесплатный репозиторий, который поставляется с последними передовыми версиями программного обеспечения, которые по умолчанию недоступны в CentOS.
Запустите команду ниже, чтобы установить репозиторий EPEL.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
После этого продолжайте и установите yum-utils и включите репозиторий remi, используя команду ниже.
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Далее, ищите доступные модули PHP, которые можно установить.
$ sudo dnf module list php
Как показано, вывод будет отображать доступные модули PHP, поток и профили установки. Из приведенного ниже вывода мы видим, что текущая установленная версия – PHP 7.2, что указано буквой d
в квадратных скобках.

Из вывода мы также видим, что последний модуль PHP – PHP 7.4, который мы собираемся установить. Но сначала нам нужно сбросить модули PHP. Так что выполните команду.
$ sudo dnf module reset php

Затем включите модуль PHP 7.4, выполнив.
$ sudo dnf module enable php:remi-7.4

С включенным модулем PHP 7.4, наконец, установите PHP, PHP-FPM (FastCGI Process Manager) и связанные модули PHP, используя команду.
$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
Теперь проверьте установленную версию.
$ php -v

Затем включите и запустите php-fpm.
$ sudo systemctl enable php-fpm $ sudo systemctl start php-fpm
Чтобы проверить его статус, выполните команду.
$ sudo systemctl status php-fpm

Еще одна вещь заключается в том, что по умолчанию PHP-FPM настроен на работу от пользователя Apache. Но поскольку мы используем веб-сервер Nginx, нам нужно изменить это на пользователя Nginx.
Так что откройте файл /etc/php-fpm.d/www.conf.
$ vi /etc/php-fpm.d/www.conf
найдите эти две строки.
user = apache group = apache
Теперь измените оба значения на Nginx.
user = nginx group = nginx

Сохраните и выйдите из файла конфигурации.
Затем перезапустите Nginx и PHP-FPM, чтобы изменения вступили в силу.
$ sudo systemctl restart nginx $ sudo systemctl restart php-fpm
Шаг 5: Тестирование информации PHP
По умолчанию папка веб-директории для Nginx находится по пути /usr/share/nginx/html/. Чтобы протестировать PHP-FPM, мы создадим PHP-файл info.php и вставим нижеприведенные строки.
<?php phpinfo(); ?>
Сохраните и закройте файл.
Запустите браузер и в строке URL введите IP-адрес вашего веб-сервера, как показано.
http://server-ip-address/info.php

Если все прошло хорошо, вы увидите информацию о версии PHP, которую вы используете, и будут отображены другие метрики.
Вот и все, друзья! Вы успешно установили стек сервера LEMP на CentOS 8. В качестве меры предосторожности вам, возможно, стоит удалить файл info.php, чтобы хакеры не смогли получить информацию с вашего сервера Nginx.