LEMP - это популярный стек, который включает программное обеспечение с открытым исходным кодом, которое совместно используется для размещения и обслуживания веб-приложений, будь то в производстве или на любом этапе цикла разработки.
Терминология LEMP это аббревиатура от Linux, Nginx (произносится как Двигатель X, следовательно, E), который является веб-браузером, MariaDB или MySQL - база данных, и PHP для обработки динамического контента). LEMP stack широко используется для хостинга веб-приложений и веб-сайтов с высокой посещаемостью и высокой степенью масштабируемости.
В этом руководстве вы узнаете, как установить стек LEMP на Rocky Linux 8.4.
Прежде чем приступить к установке LEMP стек, убедитесь, что у вас есть следующие требования.
Давайте начнем…
Первый шаг - установить первый компонент LEMP стек, который является Nginx веб сервер. Сначала обновите пакеты.
$ sudo dnf update -y.
После завершения обновления установите Nginx выполнив следующую команду. Это устанавливает Nginx вместе с другими зависимостями, требуемыми веб-сервером.
$ sudo dnf установить nginx
Как только Nginx будет установлен, включите его запуск во время загрузки и запустите демон Nginx.
$ sudo systemctl включить nginx $ sudo systemctl start nginx
Чтобы убедиться, что веб-сервер запущен, выполните команду:
$ sudo systemctl status nginx.
По выходным данным мы можем сделать вывод, что веб-сервер запущен и работает.
Если вам интересно, вы можете проверить версию Nginx следующим образом. Вывод указывает на то, что мы запускаем Nginx. 1.14.1.
$ nginx -v версия nginx: nginx / 1.14.1
Кроме того, вы можете подтвердить, что браузер работает, просмотрев показанный URL-адрес. Откроется страница приветствия Nginx по умолчанию, указывающая, что все в порядке.
http://server-ip или доменное имя.
Если у вас возникли проблемы с просмотром страницы, рассмотрите возможность открытия порта 80 или разрешения HTTP-трафика на брандмауэре.
$ sudo firewall-cmd --zone = public --add-service = http --permanent
Затем перезагрузите брандмауэр и перезагрузите страницу.
$ sudo firewall-cmd --reload.
Для этого руководства мы установим MariaDB база данных. Это связано с оптимизированной производительностью и множеством механизмов хранения, которые он предоставляет, что делает его намного лучше MySQL.
Чтобы установить MariaDB сервер базы данных, выполните команду:
$ sudo dnf установить mariadb-server mariadb.
После этого включите и запустите MariaDB как показано.
$ sudo systemctl enable mariadb. $ sudo systemctl start mariadb.
Затем проверьте его статус.
$ sudo systemctl status mariadb.
Настройки по умолчанию для MariaDB недостаточно безопасны, и ваша база данных может быть легко взломана. В качестве меры предосторожности для сдерживания злоумышленников на самом базовом уровне запустите приведенный ниже сценарий.
$ sudo mysql_secure_installation.
Обязательно установите пароль Root.
Для остальных запросов просто введите 'Y'
для удаления анонимных пользователей, запрета удаленного входа в систему root, удаления тестовой базы данных и, наконец, сохранения внесенных изменений.
Чтобы войти на сервер базы данных, выполните команду:
$ sudo mysql -u root -p.
Введите пароль и нажмите ENTER.
Последним устанавливаемым компонентом является PHP через PHP-FPM, что расшифровывается как FastCGI Process Manager. Это эффективный и высокотехнологичный процессор для PHP, который предоставляет функции, гарантирующие оптимальную производительность и безопасность для веб-сайтов с высокой посещаемостью.
Для начала установим Реми репозиторий, который является сторонним бесплатным репозиторием, предоставляющим последние версии PHP.
Чтобы включить Реми репозиторий, выполните команду:
$ sudo dnf установить dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm.
Однажды Реми репозиторий включен, проверьте список модулей PHP, которые размещены с помощью показанной команды.
Список модулей $ sudo dnf php.
Из вывода мы видим, что версия по умолчанию 7.2 - с тегом [d]
. Однако мы собираемся установить последний модуль, который Реми 8,0.
Поэтому сбросьте модули PHP по умолчанию и включите последнюю версию модуля Remi PHP.
Сброс списка модулей $ sudo dnf php. Модуль $ sudo dnf включает php: remi-8.0.
Далее обновите систему и установите PHP и PHP-FPM наряду с расширениями PHP по вашему выбору.
$ sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache.
После завершения установки включите и запустите PHP-FPM как показано.
$ sudo systemctl enable php-fpm. $ sudo systemctl start php-fpm.
Затем проверьте рабочий статус PHP-FPM.
$ sudo systemctl status php-fpm.
Как обычно, PHP-FPM работает как Apache пользователь, но поскольку мы используем Nginx, нам нужно установить его на Nginx. Итак, откройте следующий файл конфигурации.
$ sudo vim /etc/php-fpm.d/www.conf.
Установите пользователя и группу на Nginx.
пользователь = nginx. Группа = nginx.
После этого перезагрузите демон PHP-FPM.
$ sudo systemctl reload php-fpm.
Чтобы убедиться, что мы установили последнюю версию PHP, выполните команду.
$ php -v.
Еще один отличный способ Testin PHP - создать простой файл PHP и поместить его в корневой каталог, который находится в /usr/share/nginx/html. Итак, создайте простой info.php файл в /usr/share/nginx/html корневой каталог webroot.
$ sudo vim /usr/share/nginx/html/info.php.
Добавьте следующий контент и сохраните файл.
php phpinfo ();
Чтобы изменения вступили в силу, перезагрузите веб-сервер Nginx.
$ sudo systemctl перезапустить nginx.
Наконец, перейдите по следующему URL-адресу.
http://server-ip/info.php.
Отобразится веб-страница с подробной информацией об установленной версии PHP и других расширениях PHP.
На данный момент наши LEMP настройка завершена. На следующем шаге мы собираемся разместить образец сайта, настроив серверный блок Nginx.
Блок сервера позволяет администраторам размещать несколько веб-сайтов на одном сервере, определяя разные корневые каталоги документов сайта. Это каталоги, в которых находятся файлы веб-сайта.
Здесь мы создадим один файл блока сервера Nginx для размещения образца веб-сайта.
Сначала создайте каталог документов сайта, который будет содержать данные сайта, которые будут доступны посетителям сайта. Предположим, у вас есть домен под названием example.com. Создайте каталог домена сайта следующим образом. Обязательно замените example.com с полным доменным именем вашего сайта или зарегистрированным доменом.
$ sudo mkdir -p /var/www/example.com/html.
Структура каталогов домена теперь настроена для размещения файлов сайта. В настоящее время файлы принадлежат пользователю root. Нам нужно установить владельца таким образом, чтобы файл принадлежал обычному пользователю.
Чтобы передать права собственности на файлы текущему авторизованному пользователю, используйте команда chown.
$ sudo chown -R $ USER: $ USER /var/www/example.com/html.
В $ USER
переменная принимает значение текущего пользователя, вошедшего в систему, и предоставляет пользователю право владения HTML-файлами и подкаталогами. Кроме того, предоставьте разрешение на чтение для общего корневого веб-каталога, чтобы посетители сайта могли получить доступ к страницам сайта.
$ sudo chmod -R 755 / var / www.
Каталог сайта теперь хорошо настроен для обслуживания веб-страниц сайта.
Теперь создадим образец тестового сайта. Мы создадим очень простой index.html файл в html-каталоге домена.
$ sudo vim /var/www/example.com/html/index.html.
Вставьте содержимое ниже. Как видите, это довольно просто, поскольку мы используем его только в целях тестирования.
Добро пожаловать на Example.com! Успех! Серверный блок активен!
Сохраните и выйдите из HTML-файла.
Файл блока сервера - это файл, содержащий конфигурацию сайта. В нем объясняется, как веб-сервер Nginx отвечает на запросы посетителей сайта. Начнем с создания двух каталогов:
Поэтому создайте каталоги следующим образом:
$ sudo mkdir / etc / nginx / sites-available. $ sudo mkdir / etc / nginx / sites-enabled.
После этого отредактируйте основной файл конфигурации Nginx.
$ sudo mkdir /etc/nginx/nginx.conf.
Вставьте следующие строки. В первой строке указывается путь к каталогу, содержащему дополнительные файлы конфигурации. Вторая строка увеличивает память, выделенную для синтаксического анализа доменных имен.
включить /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
Сохранить и выйти.
Затем создайте файл блока сервера.
$ sudo vim /etc/nginx/sites-available/example.com.conf.
Вставьте содержимое ниже. Заменять example.com на ваше полное доменное имя (FQDN) или IP-адрес сервера.
сервер {слушать 80; имя сервера example.com www.example.com; местоположение / {root / var / www /example.com/html; index index.html index.htm; try_files $ uri $ uri / = 404; } error_page 500 502 503 504 /50x.html; location = /50x.html {корень / usr / share / nginx / html; } }
Сохраните и выйдите из файла.
Наконец, нам нужно включить файл блока сервера. Для этого мы создадим символическую ссылку для файла блока сервера на каталог с поддержкой сайтов.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf.
Затем перезапустите Nginx, чтобы изменения вступили в силу.
$ sudo systemctl перезапустить nginx.
Чтобы проверить конфигурацию, запустите браузер и посетите домен своего сайта.
http://example.com.
Это должно отобразить сайт серверного блока, как мы настроили на шаге 3.
И на этом все закончилось. В этом руководстве мы провели вас через установку LEMP складывать на Рокки Linux 8 и пошел дальше, чтобы создать и настроить файл блока сервера, на котором мы разместили собственный веб-сайт.