Как установить Nginx на Ubuntu: запуск и настройка
Nginx применяется в корпоративных и облачных инфраструктурах как надежный и масштабируемый веб-сервер. Он используется для публикации и защиты веб-ресурсов, управления нагрузками. Его можно адаптировать под разные архитектуры и сценарии. Рассказываем, как настроить Nginx на Ubuntu.

Подготовка к установке
Перед установкой нового программного обеспечения желательно обновить Ubuntu. Во-первых, так вы избавитесь от уязвимостей в старых версиях, во-вторых — установщик не столкнется с устаревшими зависимостями, в-третьих Nginx будет стабильнее работать.
Обновление системы
Если вы на сервере — подключитесь по SSH, а на компьютере откройте терминал. Обновите список пакетов. Скачайте обновленный список доступных пакетов из репозиториев Ubuntu:

Потом установите обновления для установленных программ и библиотек:
Опция -y позволит сразу запустить процесс установки новых пакетов.
Установка Nginx
Для установки Nginx на Ubuntu можно воспользоваться стандартным пакетным менеджером apt. Он уже встроен в систему и автоматически устанавливает все зависимости ПО. Этот простой способ подойдет для серверов с типовой конфигурацией.
Установить Nginx можно одной командой — sudo apt install nginx. Система скачает файлы и автоматически настроит веб-сервер. Обычно во время установки Nginx добавляется в автозагрузку, поэтому потом сразу запускается. Можно добавить вручную с помощью команды sudo systemctl enable nginx.
После установки Nginx уже готов к работе, но стоит это проверить. Откройте браузер, перейдите по адресу http://localhost на локальном компьютере или по IP-адресу сервера. Если вы все сделали правильно, откроется приветственная страница Nginx.
Установка Nginx через пакетный менеджер apt выполняется буквально одной командой. Без сложных настроек вы получите рабочий веб-сервер.
Установка веб-сервераЗапуск и базовая проверка
После установки Nginx убедитесь, что веб-сервер запускается и нормально работает. В Ubuntu им нужно управлять как системным сервисом, то есть для запуска и контроля используются стандартные команды системы.
Запуск Nginx
Обычно Nginx запускается сразу после установки. Если что-то пошло не так, вручную запустите его командой sudo systemctl start nginx. После ее выполнения сервер должен начать обслуживать веб-страницы и работать с запросами.
Если хотите, чтобы Nginx запускался без вашего участия при каждой загрузке системы, проверьте, что включен автозапуск. Если он уже активен, ничего делать не нужно.
Проверка статуса
Чтобы убедиться, что Nginx нормально работает, проверьте его статус. Для проверки статуса используйте команду systemctl status nginx. В ответ на ее выполнение система покажет информацию о сервисе: запущен или нет, когда был запущен последний раз, были ли ошибки. Если видите состояние active (running), значит, Nginx работает нормально.
Еще можно проверить работоспособность веб-сервера через браузер. Если Nginx установлен на компьютере, перейдите по адресу http://localhost. Если на сервере, откройте браузер и введите IP-адрес сервера. Если Nginx нормально работает, вы увидите стандартную приветственную страницу с текстом «Welcome to nginx!».
Если страница не открывается, скорее всего, есть проблема с настройками брандмауэра. Убедитесь, что входящие HTTP-соединения разрешены. Если нет, поменяйте настройки. После этого страница должна нормально открываться.
Настройка брандмауэра
После установки и запуска Nginx убедитесь, что брандмауэр не блокирует доступ к сайтам. В Ubuntu по умолчанию установлен брандмауэр UFW, который пропускает только безопасные разрешенные соединения и блокирует все остальное.
Для работы Nginx откройте порты для входящего трафика. Для HTTP-сайтов по умолчанию используется порт 80, для HTTPS-соединений — порт 443. Если порты закрыты, сайт в браузере не откроется, даже если Nginx правильно настроен.
В UFW уже есть правила для Nginx. С их помощью можно открыть нужные порты без сложных настроек. Примените правило Nginx Full, которое разрешает входящий трафик сразу на оба порта. Если все сделано верно, брандмауэр начнет пропускать HTTP и HTTPS-запросы к серверу.
Проверьте статус UFW. В результатах будет видно, что порты 80 и 443 теперь открыты для входящего трафика.
Настройка Nginx
Рассказываем, как настроить веб-сервер и настроить сбор логов.
Основной файл конфигурации
Работой Nginx можно управлять с помощью конфигурационных файлов. Главный файл конфигурации находится по пути /etc/nginx/nginx.conf. Именно тут задаются ключевые правила работы веб-сервера. Например, как Nginx будет обрабатывать соединения, сколько ресурсов использовать, как принимать дополнительные настройки.
В конфигурационном файле задаются общие параметры, которые влияют на весь сервер. Например, от какого пользователя работает Nginx, сколько соединений он может обслуживать одномоментно, как обрабатывает сетевые запросы. Также в основном конфигурационном файле подключаются другие файлы и каталоги с настройками отдельных сайтов. Это удобнее, чем держать всю конфигурацию в одном большом файле.
Основные настройки выполняются не в главном файле, а через отдельные конфигурации в каталогах sites-available и sites-enabled. Так проще поддерживать работу сервера и снижать риски ошибок.
Логирование
Nginx ведет журналы логов. Логирование помогает понять, кто и когда обращался к сайту, какие страницы открывал. Так можно контролировать работу веб-сервера и быстрее находить ошибки. По умолчанию Nginx использует два типа логов:
Логи доступа, где записываются все запросы пользователей к серверу. Там можно увидеть IP-адреса посетителей, время запросов, запрашиваемые страницы и коды ответа сервера.
Логи ошибок, куда попадают сообщения о проблемах. Например, если файл не найден или возникла ошибка в конфигурации.
Расположение логов задается в конфигурации. Логи доступа по умолчанию хранятся в /var/log/nginx/access.log, логи ошибок — в /var/log/nginx/error.log. Можно поменять формат логов, расширить настройки или указать отдельные файлы логов для конкретных сайтов.
Настройка виртуальных хостов
Виртуальные хосты в Nginx позволяют разместить на одном сервере несколько сайтов. Когда пользователь заходит на веб-ресурс, Nginx отслеживает, куда пришел запрос и показывает нужный сайт.
Создание виртуального хоста
Для каждого проекта нужно создать свои папки, где будут храниться файлы сайта. Так можно поддерживать порядок и упрощать обслуживание. Затем создаются конфигурационные файлы виртуальных хостов, где будут описаны настройки и правила работы.
Конфигурационные файлы находятся в каталоге sites-available. Чтобы запустить сайт, свяжите конфигурацию с каталогом sites-enabled. Тогда Nginx будет работать с новым виртуальным хостом.
Управление виртуальными хостамиОбразец конфигурации виртуального хоста
Приведем пример файла конфигурации виртуального хоста. Этого достаточно, чтобы развернуть простой сайт, но потом можно расширить настройку под более сложные задачи:
listen 80 указывает, что сайт доступен на стандартном веб-порту;
server_name — доменное имя сайта;
root — путь к папке с файлами сайта;
index файл главной страницы сайта, который открывается по умолчанию;
access_log и error_log — файлы для записей логов доступа и ошибок;
location / — описание параметров обработки запросов к сайту. В примере Nginx пытается найти запрошенные файлы и папки, не находит и выдает ошибку 404.
Перед применением изменений в конфигурацию всегда проверьте синтаксис:
Если вывод показывает "syntax is ok" и "test is successful", можно перезагружать Nginx:
Если вы используете готовую облачную инфраструктуру, а не собственный сервер, рекомендуем использовать виртуальные машины Evolution Compute от Cloud.ru. Это позволит вам сосредоточиться на настройке Nginx, не беспокоясь об аппаратном обеспечении.
Настройка HTTPS
Если еще не перевели сайт на защищенный протокол HTTPS, переведите. Это нужно для шифрования данных, повышения доверия пользователей, улучшения позиций в поисковой выдаче. Потребуется SSL/TLS-сертификат, который можно получить в коммерческом центре сертификации либо бесплатно в Let’s Encrypt. Рассмотрим второй вариант.

Установка Let's Encrypt
Let’s Encrypt — некоммерческий центр сертификации, предоставляющий бесплатные SSL/TLS-сертификаты. Для управления ими применяется Certbot. Инструмент доказывает владение доменом, создает сертификат и помогает установить его на Nginx. В дальнейшем он следит, чтобы сертификат не просрочился.
После установки на устройство утилита Certbot подключается к Nginx и добавляет в конфигурацию сайта необходимые параметры. Она автоматически перенаправляет с HTTP на HTTPS, чтобы пользователи попадали на защищенную версию веб-ресурса. Такую версию можно распознать по адресу https:// и изображению замка. Это значит, что все данные между сервером и браузером шифруются.
Чтобы создать и сконфигурировать сгенерировать сертификат через Certbot, используйте команду:
А если вы управляете конфигом вручную:
Вместо yoursite.com вставьте фактический домен. По завершении процесса проверьте, что сертификат сохранился в /etc/letsencrypt/live/yoursite.com/.
Certbot с --nginx автоматически обновляет конфигурацию и указывает пути к сертификатам. Ручная проверка пути нужна только если вы используете certonly. В директории хранятся файлы: cert.pem, chain.pem, fullchain.pem, privkey.pem.
Автоматическое обновление сертификатов
Certbot автоматически проверяет необходимость обновления дважды в день и обновляет сертификат, когда до истечения остается 30 дней или меньше. Вручную ничего делать не требуется.
Certbot регулярно проверяет срок действия сертификатов. Когда он подходит к концу, утилита автоматически продлевает документ и обновляет конфигурацию Nginx. Вы даже не заметите этого процесса, поскольку на работе веб-ресурса он не отразится.
Let's Encrypt постепенно переходит на более короткие сроки действия сертификатов для повышения безопасности:
13 мая 2026 года будут выданы первые 45-дневные сертификаты в рамках нового ACME профиля;
к 10 февраля 2027 года Default профиль перейдет на 64-дневные сертификаты;
с 16 февраля 2028 года все сертификаты будут выдаваться на 45 дней.
Однако Certbot автоматически обновляет сертификаты, поэтому эти изменения не потребуют дополнительных действий от администратора.
Заключение
После настройки Nginx на Ubuntu сервер будет готов к обслуживанию сайтов. Базовая конфигурация охватывает все аспекты — безопасность, стабильность работы и удобство управления. Потом можно подтянуть производительность, настроить кэширование и анализ логов. Это позволит адаптировать сервер под реальные задачи и нагрузку.
