Как установить сервер LEMP на CentOS 8
LEMP — это пакет программного обеспечения, включающий набор бесплатных инструментов с открытым исходным кодом, которые используются для обеспечения высокой посещаемости и динамичности веб-сайтов. LEMP — это аббревиатура от Linux, Nginx (произносится как Engine X), MariaDB/MySQL< и PHP.
Nginx — это надежный и высокопроизводительный веб-сервер с открытым исходным кодом, который также можно использовать в качестве обратного прокси-сервера. MariaDB — это система баз данных, используемая для хранения пользовательских данных, а PHP — серверный язык сценариев, используемый для разработки и поддержки динамических веб-страниц.
Статья по теме: Как установить LAMP Server на CentOS 8
В этой статье вы узнаете, как установить сервер LEMP в дистрибутиве Linux CentOS 8.
Шаг 1. Обновите пакеты программного обеспечения в CentOS 8
Для начала обновите репозиторий и пакеты программного обеспечения в CentOS 8 Linux, выполнив следующую команду 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-адрес вашей системы в строке URL и нажмите 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-repository, используя команду ниже.
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.