Пошаговая инструкция по установке LEMP стека (Nginx, MariaDB, PHP-FPM) на CentOS7

LEMP представляет собой комбинацию Linux, Nginx (читается как engine X), MariaDB/MySQL и PHP. Этот стек используется для запуска динамических веб-сайтов и приложений. В данном руководстве будет показано, как настроить LEMP на сервере CentOS 7. В качестве системы управления базами данных выбрана MariaDB, которая служит альтернативой MySQL.

Установка Nginx на CentOS7 через репозиторий EPEL

Nginx — это высокоскоростной веб-сервер, который набирает популярность, превосходя Apache. Для его установки на CentOS 7 необходимо добавить репозиторий EPEL с помощью следующей команды. EPEL расшифровывается как Extra Packages for Enterprise Linux.

sudo yum install epel-release - y

Укажите свой пароль. Теперь, после добавления репозитория, можно приступать к установке Nginx:

sudo yum install nginx - y

После того как Nginx установлен, необходимо его запустить.

sudo systemctl start nginx

Настройте автоматический запуск Nginx при старте системы.

sudo systemctl enable nginx

Убедитесь, что он функционирует.

systemctl status nginx

●Служба nginx - веб-сервер nginx и прокси-сервер обратного действия
Загрузка: загружена (/usr/lib/systemd/system/nginx.service; активировано; предустановленные настройки поставщика: отключены)
Состояние: активноФункционирует (включен) с Пн 2018-09-24 08:36:31 UTC; 1 мин 19 сек назад Основной PID: 13692 (nginx) CGroup: /system. slice/nginx.service ├─13692 nginx: основной процесс /usr/sbin/nginx └─13693 nginx: рабочий процесс

Проверьте, какая версия Nginx установлена.

Читайте также:  Настройка автозапуска флешек и дисков в Ред ОС

[linuxbabe@centos7 ~]$ nginx - v версия nginx: nginx/1.12.2

Введите IP-адрес вашего сервера в адресной строке браузера. Если отображается следующий экран, это подтверждает, что Nginx установлен корректно.

LEMP на CentOS

Ваш публичный IP-адрес сервера можно определить с помощью этой команды:

ip address

curl http://icanhazip.com

Брандмауэр вашего сервера может блокировать доступ к порту 80 извне. Чтобы разрешить публичный доступ, необходимо настроить брандмауэр iptables на прием трафика на этот порт, выполнив следующую команду.

sudo iptables - I INPUT - p tcp --dport 80 - j ACCEPT

Теперь ваш сервер способен хранить статические HTML-файлы, однако для работы с динамическим веб-сайтом необходимо установить MariaDB и PHP.

Инсталляция MariaDB на CentOS 7

MariaDB служит альтернативой MySQL. Чтобы установить его, выполните следующую команду:

sudo yum install mariadb-server mariadb - y

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

sudo systemctl start mariadb

Активируйте автоматический запуск MariaDB при загрузке операционной системы.

sudo systemctl enable mariadb

systemctl status mariadb

●mariadb.service - это сервер базы данных MariaDB. Статус загрузки: загружен (/usr/lib/systemd/system/mariadb.service; активирован; предустановлено производителем: выключено). Состояние:активно функционирует с Пн 2018-09-24 08:48:46 UTC; 23 с назад Основной PID: 13970 (mysqld_safe) CGroup: /system. slice/mariadb.service ├─13970 /bin/sh /usr/bin/mysqld_safe --basedir=/usr

[linuxbabe@centos7 ~]$ mysql --version mysql Ver 15.1 Distrib 5.5.60-MariaDB, для Linux (x86_64) с использованием readline 5.1

Теперь необходимо выполнить запуск скрипта безопасности.

Читайте также:  Три метода установки Skype на рабочий стол Ubuntu 22.04/20.04

sudo mysql_secure_installation

Когда скрипт запросит у вас текущий пароль пользователя root, просто нажмите Enter, не вводя ничего. После этого введите Y и задайте новый пароль для root.

Установите Nginx, PHP-FPM и MariaDB на CentOS 7.

Когда вы установите пароль root, просто нажимайте Enter для подтверждения остальных запросов. (Имейте в виду, что буква Y написана с большой буквы, что указывает на выбор по умолчанию.)

CentOS 7 с Nginx и PHP-FPM.

Теперь давайте перейдем к разделу, связанному с PHP.

Установка PHP-FPM на систему CentOS 7.

Установите PHP и необходимые пакеты с помощью следующей команды:

sudo yum install php php-mysql php-fpm php-gd php-xml php-mbstring - y

Теперь необходимо внести изменения в файл конфигурации php-fpm:

sudo nano /etc/php-fpm.d/www.conf

Найдите следующую фразу:

listen = 127.0.0.1:9000

Конечно! Пожалуйста, предоставьте текст, который нужно перефразировать.

listen = /var/run/php-fpm/php-fpm.sock

затем отыщите следующие две строки:

Читайте также:  Установка и использование Jitsi Meet на Linux

;listen. owner = nobody ;listen. group = nobody

Удалите предыдущие точки с запятой. В заключение, измените владельца и группу с «apache» на «nginx».

user = nginx group = nginx

После сохранения и закрытия файла запустите процессор PHP:

sudo systemctl start php-fpm

Затем активируйте php-fpm, чтобы он автоматически запускался при старте системы.

sudo systemctl enable php-fpm

Конфигурация виртуального хоста в Nginx

Создайте новый файл конфигурации виртуального хоста в директории /etc/nginx/conf.d.

sudo nano /etc/nginx/conf.d/example.com.conf

Включите в него указанные строки. Замените www.example.com и example.com на ваш домен. Убедитесь, что A-запись для вашего доменного имени установлена.

server { listen 80; server_namewww.example.com пример.com root /usr/share/nginx/html; index index.php index. html index. htm; location / { try_files $uri $uri/ /index.php?$query_string; } error_page 404 /404.html; error_page 500 502 503 504 /50x. html; location = /50x. html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

Сохраните изменения и закройте документ. После этого перезапустите nginx:

Установка LEMP на CentOS

Данный файл создан исключительно для тестовых целей. В целях безопасности вы можете удалить его, используя следующую команду:

sudo rm /usr/share/nginx/html/info.php

Теперь, когда LEMP успешно установлен, возможно, вы задаетесь вопросом о следующих шагах. Вы можете установить на него сайт, используя WordPress или Drupal. В следующем уроке я покажу, как это сделать.