Участвуй в конкурсе сайтов
Получи профессиональную оценку сайта и
награду за дизайн, контент или технологичность

Как установить LEMP на Debian 9

Обсудить
LEMP на Debian 9

Вступление

LEMP - группа программ, которые используются в качестве серверного программного обеспечения. Это аббревиатура, составленная по первым буквам программ: Linux, nginx (произносится как Engine x), MySQL и PHP. Она похожа на LAMP, но в данном случае вместо Apache используется nginx.

В этом руководстве будет рассказано о том, как установить LEMP на сервер с Debian 9.

Требования

Для выполнения инструкций из этой статьи у вас должен быть сервер с установленной ОС Debian 9 и пользователем, который может выполнять команды sudo.

Шаг 1: установка nginx

nginx - это современный продуктивный веб-сервер, который нужен для отображения сайта пользователям.

Все ПО, которое будет использоваться, можно установить прямо из репозиториев Debian. То есть для выполнения установки можно использовать утилиту apt.

Сначала нужно обновить локальный индекс пакетов:

$ sudo apt update

А потом выполнить установку веб-сервера:

$ sudo apt install nginx

На Debian 9 nginx настроен таким образом, что он запускается и начинает работать сразу после установки.

Если у вас запущен фаервол ufw, то необходимо разрешить соединение с nginx. Здесь нужно использовать максимально ограниченный профиль из тех, которые пропускают нужный вам трафик. Т.к. протокол SSL на сервере еще не настроен, вам нужно просто разрешить трафик по 80 порту:

$ sudo ufw allow 'Nginx HTTP'

Проверьте изменения:

$ sudo ufw status

В выводе должен быть разрешен HTTP-трафик:

Status: active

To                      Action   From

--                      ------   ----

OpenSSH                 ALLOW    Anywhere

Nginx HTTP              ALLOW    Anywhere

OpenSSH (v6)            ALLOW    Anywhere (v6)

Nginx HTTP (v6)         ALLOW    Anywhere (v6)

Теперь нужно убедиться в том, что сервер работает. Для этого введите в браузере публичный IP-адрес сервера либо доменное имя. Если доменного имени нет, и вы не знаете IP-адрес, то введите команду ниже для того, чтобы узнать его:

$ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Вы увидите несколько IP-адресов, попробуйте каждый из них в браузере:

http://IP-адрес_или_доменное_имя

В итоге вы должны увидеть стартовую страницу nginx.Nginx Debian

Значит, nginx установлен корректно.

Шаг 2: установка MySQL

Теперь нужно установить MySQL - СУБД, которая будет использоваться для хранения и работы с данными сайта. Это можно легко сделать командой ниже:

$ sudo apt install mysql-server

После установки нужно выполнить настройку MySQL. Для этого нужно запустить специальный скрипт:

$ sudo mysql_secure_installation

Сначала у вас будет запрошен пароль для аккаунта суперпользователя MySQL. Т.к. пароль еще не установлен, просто нажмите Enter. Следующий вопрос - хотите ли вы установить этот пароль. Введите y, а затем укажите желаемый пароль.

На все последующие запросы скрипта можно вводить y и нажимать Enter. В результате будут удалены анонимные пользователи, тестовая база данных, запрещены удаленные соединения. Теперь у вас есть установленная и настроенная СУБД. Перейдем к PHP.

Шаг 3: установка PHP

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

Так как nginx, в отличие от некоторых других веб-серверов, не имеет встроенного менеджера процессов для PHP, придется устанавливать fmp (fastCGI process manager - менеджер процессов FastCGI). Именно ему nginx будет передавать PHP-запросы для последующей обработки.

Второй пакет, который нужно будет установить, - для работы PHP с MySQL.

$ sudo apt install php-fpm php-mysql

PHP-компоненты установлены, и теперь нужно перейти к настройке nginx.

Шаг 4: настройка nginx

nginx нужно настроить так, чтобы он использовал менеджер процессов PHP для динамического контента.

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

Создайте новую директорию:

$ sudo mkdir /var/www/ваш_домен

Откройте новый конфигурационный файл в директории sites-available:

$ sudo nano /etc/nginx/sites-available/ваш_домен

Откроется пустой файл, куда нужно скопировать информацию ниже:

server {

listen 80;

listen [::]:80;

root /var/www/ваш_домен;

index index.php index.html index.htm;

server_name ваш_домен;

location / {

     try_files $uri $uri/ =404;

}

location ~ \.php$ {

     include snippets/fastcgi-php.conf;

     fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

}

}

Это базовая конфигурация, ее можно настроить по своему усмотрению.

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

$ sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/

Проверьте настройки на синтаксические ошибки:

$ sudo nginx -t

Если появилось сообщение об ошибках, обязательно проверьте файл еще раз.

Если все в порядке, то перезагрузите nginx для того, чтобы изменения вступили в силу:

$ sudo systemctl reload nginx

Шаг 5: создание файла PHP для тестирования

Заключительный этап - нужно проверить, что nginx корректно передает файлы .php для обработки менеджеру процессоров.

Для этого нужно создать тестовый файл PHP в корневой папке. Откройте новый файл с названием info.php в текстовом редакторе:

$ sudo nano /var/www/ваш_домен/info.php

Введите туда следующие строки:

<?php

  phpinfo();

?>

После этого сохраните и закройте файл.

Теперь введите в адресной строке браузера доменное имя сервера либо IP-адрес плюс /info.php:

http://ваш_домен/info.php

Вам должна высветиться информация о вашем сервере:Php version

Если вы страницу, которая так выглядит, значит, все работает корректно.

После этого файл можно удалить:

$ sudo rm /var/www/html/info.php

Теперь на вашем сервере с ОС Debian установлен и полностью готов к работе стек LEMP. 

Серверы Таймвэб

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте