Установка LEMP · 7 min read · Oct 12, 2025

Как установить Nginx с PHP и MySQL (LEMP стек) на Ubuntu 20.04 LTS

Nginx (произносится как “engine x”) — это бесплатный, открытый, высокопроизводительный HTTP-сервер. Nginx известен своей высокой скоростью, стабильностью, богатым набором функций, простой конфигурацией и низким потреблением ресурсов. Этот учебник показывает, как установить Nginx на сервер Ubuntu 20.04 LTS с поддержкой PHP 7.4 (через PHP-FPM) и поддержкой MySQL (LEMP = Linux + Nginx (произносится как “engine x”) + MySQL + PHP).

Предварительные условия

  • Сервер Ubuntu 20.04 LTS
  • Привилегии root

Что мы будем делать?

  • Установить Nginx
  • Установить MySQL
  • Установить PHP-FPM
  • Настроить Nginx и PHP-FPM
  • Установить PhpMyAdmin
  • Настроить PhpMyAdmin
  • Тестирование

Шаг 1 - Установка Nginx

Nginx или engine x — это высокопроизводительный HTTP и прокси-сервер с низким потреблением памяти. Большинство крупных веб-сайтов, таких как Netflix, Pinterest, CloudFlare, GitHub, используют Nginx.

На этом шаге мы установим веб-сервер Nginx из репозитория Ubuntu.

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

sudo apt update  
sudo apt install nginx

После завершения установки запустите службу Nginx и включите ее, чтобы она запускалась каждый раз при загрузке системы.

systemctl start nginx  
systemctl enable nginx

Теперь установка веб-сервера Nginx завершена, проверьте службу Nginx, используя следующую команду.

systemctl status nginx

Ниже приведен результат, который вы получите.

Установить Nginx

Также проверьте HTTP-порт на системе Ubuntu и убедитесь, что он используется службой Nginx.

ss -plt4

Ниже приведен результат, который вы получите.

В результате протокол HTTP используется службой Nginx.

Далее мы обеспечим безопасность нашей установки Nginx с помощью брандмауэра UFW.

Добавьте протоколы HTTP и HTTPS в конфигурацию брандмауэра UFW, используя следующую команду.

for fw in ssh http https  
do  
ufw allow $fw  
done

Теперь включите брандмауэр UFW и проверьте его статус.

ufw enable  
ufw status numbered

И протоколы HTTP и HTTPS были добавлены в конфигурацию брандмауэра UFW.

Открыть HTTP и HTTPS порт UFW Firewall

Шаг 2 - Установка MySQL

MySQL — это самая популярная система управления реляционными базами данных (RDBMS) с открытым исходным кодом, созданная корпорацией Oracle. Это центральный компонент LEMP стека, и мы установим последнюю версию MySQL из репозитория Ubuntu.

Установите MySQL, используя команду apt ниже.

sudo apt install mysql-server mysql-client

После завершения установки MySQL запустите службу MySQL и включите ее, чтобы она запускалась каждый раз при загрузке системы.

systemctl start mysql  
systemctl enable mysql

Теперь проверьте службу MySQL, используя команду ниже.

systemctl status mysql

Служба MySQL работает.

Установить MySQL Server

Далее мы настроим пароль root для сервера MySQL.

Запустите команду ‘mysql_secure_installation’ ниже.

mysql_secure_installation

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

Press y|Y for Yes, any other key for No: Press Enter  
  
New password:   
Re-enter new password:   
  
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

И пароль root MySQL был настроен.

В результате установка и настройка базы данных MySQL на Ubuntu 20.04 завершены.

Шаг 3 - Установка и настройка PHP-FPM

PHP-FPM или FastCGI Process Manager — это альтернатива старому PHP FastCGI, которая предоставляет дополнительные функции и улучшения скорости. Он хорошо подходит для малых и крупных сайтов, основанных на языке программирования PHP.

На этом шаге мы установим стандартный PHP7.4-FPM с некоторыми дополнительными расширениями, необходимыми для PHPMyAdmin.

Установите PHP-FPM, используя команду ниже.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

После завершения установки PHP-FPM перейдите в каталог ‘/etc/php/7.4/fpm’ и отредактируйте конфигурацию php.ini с помощью редактора vim.

cd /etc/php/7.4/fpm/  
vim php.ini

Раскомментируйте следующую конфигурацию и измените значение на ‘0’.

cgi.fix_pathinfo = 0

Сохраните и закройте.

Теперь запустите службу PHP7.4-FPM и включите ее, чтобы она запускалась каждый раз при загрузке системы.

systemctl start php7.4-fpm  
systemctl enable php7.4-fpm

Служба PHP-FPM работает, проверьте это, используя следующую команду.

systemctl status php7.4-fpm

Ниже приведен результат, который вы получите.

Установить php-fpm

По умолчанию PHP-FPM работает под сокет-файлом, проверьте это, используя команду ss ниже.

ss -pl | grep php

Ниже приведен ответ, который вы получите.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0

И установка PHP-FPM 7.4 на Ubuntu 20.04 завершена.

Шаг 4 - Настройка Nginx и PHP-FPM

На этом шаге мы настроим веб-сервер Nginx и PHP-FPM.

Перейдите в каталог конфигурации ‘/etc/nginx’ и отредактируйте файл ‘nginx.conf’ с помощью vim или nano.

cd /etc/nginx/  
vim nginx.conf

Раскомментируйте следующую строку, чтобы скрыть версию Nginx.

server_tokens off;

Сохраните и закройте.

Далее отредактируйте конфигурацию виртуального хоста ‘default’ в каталоге ‘sites-available’.

vim sites-available/default

Раскомментируйте строку PHP, показанную ниже, и измените строку сокет-файла.

        location ~ \.php$ {  
                include snippets/fastcgi-php.conf;  
        #  
        # # С php-fpm (или другими unix-сокетами):  
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
        # # С php-cgi (или другими tcp-сокетами):  
        # fastcgi_pass 127.2.0.1:9000;  
        }

Сохраните и закройте.

Проверьте конфигурацию Nginx и убедитесь, что ошибок нет, затем перезапустите службу.

nginx -t  
systemctl restart nginx

В результате настройка Nginx и PHP-FPM завершена.

Настроить Nginx и PHP-FPM

Шаг 5 - Установка phpMyAdmin

PhpMyAdmin — это приложение на PHP для управления базами данных MySQL или MariaDB из веб-браузера. На этом шаге мы установим и настроим PHPMyAdmin в рамках LEMP (Linux, Nginx, MySQL и PHP-FPM) стека.

Установите PHPMyAdmin, используя команду apt ниже.

sudo apt install phpmyadmin

Во время установки вас спросят о конфигурации веб-сервера для phpmyadmin.

Выберите опцию none и переместите курсор к ‘ OK ‘.

Настройка веб-сервера для phpMyAdmin

Для конфигурации базы данных и пользователя phpmyadmin выберите ‘ Yes ‘.

И введите новый ‘НАДЕЖНЫЙ’ пароль администратора PHPMyAdmin, например ‘Hakaselabs001@#’.

Настройка пароля для базы данных и пользователя phpMyAdmin

Повторите пароль ‘Hakaselabs001@#’.

Настройка веб-сервера для phpMyAdmin

И установка phpMyAdmin на Ubuntu 20.04 завершена.

Шаг 6 - Настройка phpMyAdmin с Nginx и MySQL

После установки phpmyadmin нам нужно настроить phpmyadmin для работы под веб-сервером Nginx и настроить доступ пользователя MySQL к phpmyadmin. Чтобы запустить PHPMyAdmin под веб-сервером Nginx, нам нужно добавить конфигурацию в файл конфигурации виртуального хоста.

Настройка phpMyAdmin с веб-сервером Nginx

Теперь перейдите в каталог конфигурации ‘/etc/nginx’ и отредактируйте файл виртуального хоста по умолчанию.

cd /etc/nginx/sites-available/  
vim default

Вставьте следующую конфигурацию Nginx для PHPMyAdmin внутри фигурных скобок ‘server {…}’.

location /phpmyadmin {  
    root /usr/share/;  
    index index.php;  
    try_files $uri $uri/ =404;  

location ~ ^/phpmyadmin/(doc|sql|setup)/ {  
    deny all;  
    }  

location ~ /phpmyadmin/(.+\.php)$ {  
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include fastcgi_params;  
    include snippets/fastcgi-php.conf;  
    }  
}

Сохраните и выйдите.

Проверьте конфигурацию nginx и убедитесь, что ошибок нет, затем перезапустите службу nginx.

nginx -t  
systemctl reload nginx

И мы добавили конфигурацию Nginx для нашей установки phpMyAdmin, она доступна по пути URL как ‘http://server-ip/phpmyadmin’.

Настроить Nginx для phpMyAdmin

Разрешить пользователю phpMyAdmin доступ к базам данных

Для этого учебника мы будем использовать пользователей MySQL, не являющихся root, для PHPMyAdmin. Мы создадим нового пользователя и предоставим все привилегии всех баз данных на сервере этому пользователю.

Войдите в оболочку MySQL, используя следующую команду.

mysql -u root -p

Теперь создайте нового пользователя MySQL ‘hakase’ и предоставьте все привилегии базы данных.

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost';  
flush privileges;

Теперь введите ‘exit’, чтобы выйти из оболочки MySQL.

exit

В результате мы создали нового пользователя MySQL для phpMyAdmin.

Шаг 7 - Тестирование

На этом шаге мы протестируем нашу конфигурацию LEMP стека и phpMyAdmin.

Тест PHP файла

Перейдите в каталог ‘/var/www/html’ и создайте новый скрипт ‘info.php’ с помощью редактора vim.

cd /var/www/html  
vim info.php

Вставьте следующий скрипт в него.

Сохраните и закройте.

Затем откройте веб-браузер и введите IP-адрес вашего сервера, за которым следует путь к вашему скрипту ‘info.php’.

http://server-ip/info.php

Ниже приведен результат, который вы получите.

phpinfo с LEMP стеком

В результате мы получили детальную конфигурацию нашего PHP-FPM 7.4 на сервере Ubuntu 20.04, и PHP-скрипт работает на нашем сервере LEMP Stack.

Тест phpMyAdmin

Чтобы протестировать нашу установку phpMyAdmin, введите IP-адрес вашего сервера, за которым следует путь ‘phpmyadmin’ в URL.

http://server-ip/phpmyadmin/

И вы получите страницу входа phpMyAdmin.

Страница входа phpMyAdmin

Чтобы войти в phpMyAdmin, введите пользователя, которого мы создали выше. Пользователь ‘hakase’ с паролем ‘Hakaselabs001@#’, затем нажмите кнопку ‘ Go ‘.

И вы получите панель управления phpMyAdmin, как показано ниже.

Панель управления phpMyAdmin

phpMyAdmin работает в среде LEMP Stack.

В результате установка и настройка LEMP Stack на Ubuntu 20.04 успешно завершены.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.