yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Как установить Nginx на Ubuntu: запуск и настройка

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

Инструкции
Иллюстрация для статьи на тему «Как установить Nginx на Ubuntu: запуск и настройка»
Продукты из этой статьи:
Иконка-Evolution Compute
Evolution Compute

Подготовка к установке

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

Обновление системы

Если вы на сервере — подключитесь по SSH, а на компьютере откройте терминал. Обновите список пакетов. Скачайте обновленный список доступных пакетов из репозиториев Ubuntu:

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Потом установите обновления для установленных программ и библиотек:

Опция -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. Рассмотрим второй вариант. 

Evolution Compute
Подключайте дополнительные диски и подсети
Evolution Compute

Установка 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 сервер будет готов к обслуживанию сайтов. Базовая конфигурация охватывает все аспекты — безопасность, стабильность работы и удобство управления. Потом можно подтянуть производительность, настроить кэширование и анализ логов. Это позволит адаптировать сервер под реальные задачи и нагрузку.

Продукты из этой статьи:
Иконка-Evolution Compute
Evolution Compute
20 января 2026

Вам может понравиться