Как установить LEMP Stack в CentOS 7

16 Декабря 2019 | CentOS

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

Как установить LEMP Stack в CentOS 7

Термин 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



Комментарии
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
Загрузка комментариев...