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 установлен корректно.

Ваш публичный 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
Теперь необходимо выполнить запуск скрипта безопасности.
sudo mysql_secure_installation
Когда скрипт запросит у вас текущий пароль пользователя root, просто нажмите Enter, не вводя ничего. После этого введите Y и задайте новый пароль для root.

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

Теперь давайте перейдем к разделу, связанному с 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
затем отыщите следующие две строки:
;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:

Данный файл создан исключительно для тестовых целей. В целях безопасности вы можете удалить его, используя следующую команду:
sudo rm /usr/share/nginx/html/info.php
Теперь, когда LEMP успешно установлен, возможно, вы задаетесь вопросом о следующих шагах. Вы можете установить на него сайт, используя WordPress или Drupal. В следующем уроке я покажу, как это сделать.

