Установка серверов · 5 min read · Oct 12, 2025

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

Nginx (произносится как “engine x”) — это бесплатный, открытый, высокопроизводительный HTTP-сервер. Nginx известен своей стабильностью, богатым набором функций, простой конфигурацией и низким потреблением ресурсов. В этом руководстве показано, как установить Nginx на сервер Ubuntu 18.04 LTS с поддержкой PHP 7.2 (через PHP-FPM) и поддержкой MySQL (LEMP = L inux + nginx (произносится как “ e ngine x”) + M ySQL + P HP).

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

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

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

  1. Установить Nginx
  2. Установить MySQL
  3. Установить PHP-FPM
  4. Настроить Nginx и PHP-FPM
  5. Установить PhpMyAdmin
  6. Настроить PhpMyAdmin
  7. Тестирование

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

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

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

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

sudo apt install nginx -y

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

systemctl start nginx  
systemctl enable nginx

Установка Nginx завершена.

Настроить брандмауэр

Рекомендуется включить брандмауэр на сервере.

Добавьте порты службы SSH и HTTP в конфигурацию брандмауэра.

Запустите команду UFW ниже.

ufw allow ssh  
ufw allow http

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

ufw enable

Веб-сервер Nginx работает под брандмауэром UFW.

Конфигурация брандмауэра UFW

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

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

Установите MySQL с помощью команды apt ниже.

sudo apt install mysql-server mysql-client -y

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

systemctl start mysql  
systemctl enable mysql

И мы установили MySQL 5.7 на сервер Ubuntu 18.04.

Шаг 3 - Установить PHP-FPM

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

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

Установите PHP-FPM с помощью команды ниже.

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

Теперь запустите службу PHP-FPM и включите ее для автоматического запуска при загрузке системы после завершения всех установок.

systemctl start php7.2-fpm  
systemctl enable php7.2-fpm

PHP7.2-FPM работает на Ubuntu 18.04 под сокет-файлом, проверьте это с помощью команды netstat.

netstat -pl | grep php

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

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

Настроить Nginx

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

cd /etc/nginx/  
vim nginx.conf

Уберите комментарии с следующих строк.

keepalive_timeout 2;
server_tokens off;

Сохраните файл конфигурации и выйдите из редактора.

Теперь отредактируйте файл виртуального хоста по умолчанию Nginx.

vim sites-available/default

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

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

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

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

nginx -t  
systemctl reload nginx

Перезапустите Nginx и проверьте конфигурацию

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

Перейдите в каталог ‘/etc/php/7.2’ и отредактируйте файл ‘php.ini’.

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

Уберите комментарии с строки ‘cgi.fix_pathinfo’ и измените значение на ‘0’.

cgi.fix_pathinfo=0

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

Перезагрузите службу PHP-FPM.

systemctl reload php7.2-fpm

И мы завершили настройку веб-сервера Nginx и PHP-FPM.

Шаг 5 - Установить PhpMyAdmin

PhpMyAdmin — это приложение на PHP для управления базами данных MySQL или MariaDB из веб-браузера.

На этом шаге мы установим и настроим phpmyadmin в рамках стека LEMP (Linux, Nginx, MySQL и PHP-FPM).

Установите PHPMyAdmin с помощью команды apt ниже.

sudo apt install phpmyadmin -y

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

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

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

Не выбирайте для настройки веб-сервера

И введите новый ‘СИЛЬНЫЙ’ пароль администратора phpmyadmin, например ‘Hakaselabs001@#’.

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

повторите пароль

И установка phpmyadmin завершена.

Шаг 6 - Настроить PhpMyAdmin

После установки phpmyadmin нам нужно настроить phpmyadmin для работы под веб-сервером Nginx и настроить доступ пользователя MySQL к phpmyadmin.

Настроить PhpMyAdmin с Nginx

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

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

cd /etc/nginx/  
vim sites-available/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:/var/run/php/php7.2-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.

Настроить пользователя MySQL для PhpMyAdmin

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

Войдите в оболочку MySQL.

mysql -u root -p

Теперь создайте нового пользователя с помощью следующих запросов MySQL.

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

И мы создали нового пользователя для доступа к phpmyadmin.

Настроить пользователя MySQL

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

Тестирование PHP файлов

Перейдите в корневой каталог веб-сервера ‘/var/www/html’ и создайте новый файл phpinfo.

cd /var/www/html/  
vim info.php

Вставьте скрипт phpinfo ниже.

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

Теперь откройте веб-браузер и введите IP-адрес сервера, как показано ниже. Замените IP на IP вашего сервера.

http://192.168.33.10/info.php

И ниже представлена вся информация о конфигурации сервера PHP.

Результат PHP Info

Тестирование входа в PhpMyAdmin

В веб-браузере введите следующий URL phpmyadmin (замените IP на IP вашего сервера).

http://192.168.33.10/phpmyadmin/

На странице входа в phpmyadmin введите пользователя ‘hakase’ с паролем ‘Hakaselabs001@#’ и нажмите кнопку ‘Go’.

Вход в PHPMyAdmin

Теперь мы увидим панель управления phpmyadmin, как показано ниже.

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

Стек LEMP и PhpMyAdmin успешно установлены на Ubuntu 18.04 LTS.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.