Установка сервера LEMP (Nginx, MariaDB, PHP)

Стек LEMP включает пакеты Nginx (Engine X), MySQL/MariaDB и PHP/Python, установленные в системе Linux и настроенные для совместной работы в качестве системы хостинга веб-сайтов, приложений или выполнения других функций. В данном руководстве мы рассмотрим установку стека LEMP на примере Ubuntu 18.04.

Для запуска рассмотренных команд потребуется доступ к серверу по SSH и root-привилегии (или использование команды sudo).

Установка веб-сервера Nginx

Обновите программные пакеты и установите Nginx при помощи менеджера пакетов apt-get. Nginx — быстрый, производительный и простой в настройке веб-сервер с открытым исходным кодом, поддерживающий функции балансировки нагрузки и обратного прокси.

$ sudo apt-get update
$ sudo apt-get install nginx

После установки служба ngnix должна автоматически запуститься. Также должен включиться ее запуск при загрузке. Проверить состояние службы можно следующей командой:

$ sudo systemctl status nginx

При необходимости вручную запустить службу и активировать ее автоматический запуск при загрузке нужно выполнить следующие команды:

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

Если в вашей системе есть брандмауэр, нужно открыть порты 80 (HTTP) и 443 (HTTPS), чтобы разрешить клиентам запросы на веб-сервер, а затем перезагрузить брандмауэр, например:

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload

Для проверки правильности работы ngnix нужно ввести в строке браузера имя или адрес вашего веб-сервера:

http://доменое_имя/

Или

http://IP-адрес_сервера/

Если установка была выполнена правильно, вы увидите тестовую страницу Nginx:

Установка MariaDB

Для установки системы управления базами данных MariaDB (разрабатываемая сообществом ветвь MySQL) выполните команду:

$ sudo apt-get install mariadb-server mariadb-client

Служба должна автоматически запуститься после установки. Это можно проверить следующей командой (если она не запущена, нужно аналогично предыдущему разделу запустить ее и активировать автоматический запуск при загрузке):

$ sudo systemctl status mysql

Теперь нужно обеспечить минимальную безопасность базы данных при помощи специального скрипта (входит в комплект установки):

$ sudo mysql_secure_installation

Дайте ответ y (yes, да) на следующие вопросы, а также задайте пароль для пользователя root:

Set root password? [Y/n]: y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Установка PHP

PHP — популярный скриптовый язык, используемый для создания динамического содержимого веб-сайтов. Все необходимые для веб-разработки модули PHP можно установить следующей командой (версия по умолчанию для репозиториев Ubuntu — PHP 7.2)

$ sudo apt-get install php php-fpm php-common php-mysql php-gd php-cli

После установки PHP служба PHP7.2-FPM (реализация FastCGI сервера) также должна запуститься автоматически. Это можно проверить следующей командой:

$ sudo systemctl status php7.2-fpm

Теперь нужно настроить PHP-FPM для правильного представления PHP-приложений или сайтов. Параметры конфигурации находятся в файле /etc/php/7.2/fpm/php.ini. Откройте его любым текстовым редактором:

$ sudo vim /etc/php/7.2/fpm/php.ini

Найдите строку ;cgi.fix_pathinfo=1 и замените ее на cgi.fix_pathinfo=0, чтобы при работе PHP рассматривал только указанный в явном виде путь и прекращал обработку, если файл не найден.

Затем в разделе серверного блока по умолчанию файла конфигурации сервера Nginx (/etc/nginx/sites-available/default) настройте обработку PHP-скриптов при помощи PHP-FPM:

$ sudo vim /etc/nginx/sites-available/default

Чтобы передавать PHP-скрипты серверу FastCGI, раскомментируйте следующий раздел:

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

После внесения изменений перезапустите службы nginx и php7.2-fpm, чтобы они вступили в силу:

$ sudo systemctl restart php7.2-fpm
$ sudo systemctl restart nginx

Теперь можно проверить правильность настройки PHP, создав в корне документов вашего сервера простую страничку info.php. Для этого требуется всего одна команда:

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Затем откройте веб-бразуер и введите любой из следующих адресов, чтобы увидеть информационную страницу PHP.

http://доменное_имя/info.php

или

http://IP-адрес_сервера/info.php

Заключение

Мы рассмотрели установку стека LEMP. Данный набор является платформой, на которую могут устанавливаться веб-сайты и веб-приложения. Для более подробной информации обратитесь к соответствующим man-страницам.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

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