Как установить LEMP Stack в CentOS 7
Как установить LEMP Stack в CentOS 7
Из этой статьи вы узнаете, как установить на операционную систему на базе Linux веб-сервер Nginx, создать бесплатный SSL-сертификат Let's Encrypt, а также установить и защитить MySQL и PHP.

Термин LEMP является аббревиатурой четырех компонентов с открытым исходным кодом:
- L - операционная система Linux
- E - Nginx [engine x] HTTP и обратный прокси-сервер
- M - MySQL или MariaDB система управления реляционными базами данных
- P - язык программирования PHP.
Ваш аккаунт пользователя должен иметь права sudo для установки пакетов.
Шаг 1. Установка Nginx
Nginx недоступен в репозитории CentOS 7 по умолчанию, поэтому мы будем использовать репозитории EPEL. Чтобы добавить EPEL-репозиторий в вашу систему, используйте следующую команду:
sudo yum install epel-release
Теперь, когда репозиторий EPEL включен, установите пакет Nginx:
sudo yum install nginx
После установки запустите и включите службу Nginx, введя:
sudo systemctl start nginx
sudo systemctl enable nginx
Шаг 2. Установка MariaDB
Следующим шагом является установка пакетов MariaDB. Для этого введите:
sudo yum install mariadb-server
После установки сервера MariaDB запустите и включите службу с помощью:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
- На момент написания статьи MariaDB 5.5 была доступна в официальном репозитории CentOS 7. Если вы хотите установить более новую версию, обратитесь к этому руководству .
- Если вы хотите установить MySQL вместо MariaDB, обратитесь к нашему руководству за инструкциями по установке.
Шаг 3. Установка PHP
CentOS 7 поставляется с версией PHP 5.4, которая уже давно используется в EOL, поэтому для установки PHP 7.2 мы будем использовать репозиторий Remi.
Выполните следующую команду, чтобы добавить репозиторий Remi в вашу систему:
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Как только он будет добавлен, установите yum-utils
пакет и включите remi-php72
репозиторий:
sudo yum install yum-utils
sudo yum-config-manager --enable remi-php72
Теперь, когда у нас включен репозиторий Remi, мы можем установить PHP FPM и несколько наиболее распространенных модулей PHP с:
sudo yum install php-fpm php-opcache php-cli php-gd php-curl php-mysql
По умолчанию PHP FPM будет работать как пользователь apache
на порту 9000. Мы изменим пользователя на nginx
и переключимся с сокета TCP на сокет Unix. Для этого отредактируйте строки, выделенные желтым цветом:
sudo nano /etc/php-fpm.d/www.conf
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Убедитесь, что /var/lib/php
каталог имеет правильные разрешения:
chown -R root:nginx /var/lib/php
Сохраните файл, включите и запустите службу PHP FPM с помощью:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Шаг 4. Настройка Nginx для обработки страниц PHP
Теперь, когда у нас установлены все компоненты LEMP, мы можем отредактировать файл конфигурации блока сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
server {
# . . . other code
location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Не забудьте перезапустить службу Nginx, чтобы изменения вступили в силу:
sudo systemctl restart nginx