Как установить LEMP-стек (Linux + Nginx + MySQL + PHP)

Для запуска современных сайтов и приложений часто используют LEMP-стек: Linux, Nginx, MySQL/MariaDB и PHP. Такая связка сочетает стабильность и высокую производительность, позволяя быстро обрабатывать запросы и работать с динамическим контентом.
LEMP подходит для веб-сервисов любого масштаба: личный блог, корпоративные сайты, интернет-магазины и приложения любой сложности. Гибкая настройка и низкое потребление ресурсов делают его востребованным решением среди разработчиков и системных администраторов.
В статье разберем пошагово, как установить LEMP-стек.
Шаг 1. Подготовьте сервер
- Подключитесь к серверу по SSH
- Создайте нового пользователя (чтобы не работать под root):
adduser userName
- Дайте ему права администратора:
usermod -aG sudo userName
- Переключитесь на нового пользователя:
su - userName
- Обновите систему:
sudo apt-get update && sudo apt-get upgrade -y
Шаг 2. Установите и настройте Nginx
- Установите веб-сервер:
sudo apt-get install nginx
- Откройте порты в firewall:Для HTTP (80):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables-save
Для HTTPS (443):sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables-save
- Перейдите по IP-адресу сервера — должна открыться стандартная страница Nginx.
Шаг 3. Установите и настройте MySQL
- Установите СУБД. В нашем случае это будет MySQL :
sudo apt-get install mysql-server
- Подключитесь к MySQL под root:
mysql -u root -p
- Создайте пользователя:
CREATE USER 'user-name'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user-name'@'localhost';
FLUSH PRIVILEGES;
- Создайте базу данных:
CREATE DATABASE BaseName;
Шаг 4. Установите и настройте PHP
- Установите PHP и модули:
sudo apt-get install php-fpm php-mysql
- Определите версию PHP
php -v
- Откройте файл настроек php.ini:
sudo nano /etc/php/X.X/fpm/php.ini
(вместо X.X подставьте свою версию, например 7.4). - Найдите строку
;cgi.fix_pathinfo=1
- Уберите ; и замените на:
cgi.fix_pathinfo=0
- Перезапустите PHP:
sudo systemctl restart phpX.X-fpm
Шаг 5. Настройте Nginx для работы с PHP
- Откройте конфигурацию:
sudo nano /etc/nginx/sites-available/default
- Внесите изменения:
в строку index добавьтеindex.php
;
в server_name укажите домен или IP;
раскомментируйте блокlocation ~ \.php$
и настройтеfastcgi_pass unix:/run/php/phpX.X-fpm.sock
;
раскомментируйте блокlocation ~ /\.ht
.
- Проверьте файл на ошибки:
sudo nginx -t
- Перезапустите Nginx:
sudo systemctl reload nginx
Шаг 6. Проверьте работу сервера
- Создайте тестовый файл:
sudo bash -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php
- Перейдите в браузере по адресу:
http://IP_сервера/info.php
- Убедитесь, что открылась страница с параметрами PHP.
- Удалите тестовый файл:
sudo rm /var/www/html/info.php
Все готово: теперь на сервере установлен и настроен LEMP-стек. Вы можете размещать сайты и подключать базы данных.