Перейти к содержанию

Обзор развертывания Nginx на сервере

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

Для успешного функционирования веб-сервера требуются следующие параметры и условия:

Параметр Значение
Операционная система Debian или Ubuntu
Доступ к пакетному менеджеру apt
Права доступа root (или через sudo)
Порты 80 (HTTP), 443 (HTTPS)

FDQN итоговой панели на домене hostkey.in

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

Параметр Значение
Префикс nginx
Домен hostkey.in
Полный шаблон nginx{Server_ID_from_Invapi}.hostkey.in

Структура файлов и каталогов

В процессе развертывания создаются следующие директории для хранения данных и конфигураций:

  • /etc/nginx/sites-available/ — хранение доступных конфигурационных файлов сайтов.

  • /etc/nginx/sites-enabled/ — символические ссылки на активные конфигурации.

  • /var/www/html — корневая директория веб-контента (владелец www-data).

  • /var/www/letsencrypt — директория для прохождения проверки ACME (владелец www-data).

  • /etc/nginx/user_conf.d — пользовательские конфигурационные файлы Nginx.

  • /etc/letsencrypt/live/ — хранение SSL-сертификатов.

Процесс установки приложения

Развертывание выполняется путем установки пакетов через системный менеджер пакетов и настройки веб-сервера:

  1. Обновление кэша репозиториев apt.

  2. Установка компонентов: nginx, certbot, python3-certbot-nginx и openssl.

  3. Создание необходимых директорий с соответствующими правами доступа.

  4. Настройка временного HTTP-сервера для прохождения проверки Let's Encrypt.

  5. Получение SSL-сертификатов через Certbot в режиме --webroot.

  6. Перенаправление (redirect) трафика с HTTP на HTTPS.

Права доступа и безопасность

Безопасность системы обеспечивается следующими механизмами:

  • Использование пользователя www-data для директорий веб-контента.

  • Ограничение прав доступа к конфигурационным файлам (0644).

  • Автоматическая перезагрузка Nginx после обновления сертификатов через скрипт в /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh.

Контейнеры Docker и их запуск

В данной конфигурации контейнеры Docker не используются; приложение развертывается непосредственно в операционной системе как системный сервис.

Инструкция по обновлению приложения

Обновление выполняется через обновление пакетов или перезапуском скрипта установки: apt update && apt upgrade nginx certbot

Настройки прав

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

Директория Владелец Группа Режим (mode)
/var/www/html www-data www-data 0755
/var/www/letsencrypt www-data www-data 0755

Расположение конфигурационных файлов и данных

Конфигурация веб-сервера разделена на стандартную и пользовательскую части:

  • Основной файл сайта: /etc/nginx/sites-available/{FQDN}.conf.

  • Пользовательские настройки: /etc/nginx/user_conf.d/*.conf.

  • Сертификаты: /etc/letsencrypt/live/{FQDN}/.

Доступные порты для подключения

Порт Протокол Назначение
80 TCP (HTTP) Перенаправление на HTTPS и проверка ACME
443 TCP (HTTPS) Зашифрованный веб-трафик (HTTP/2 поддерживается)

Запуск, остановка приложения

Управление сервисом осуществляется через systemd:

  • Запуск: systemctl start nginx

  • Остановка: systemctl stop nginx

  • Перезагрузка конфигурации: systemctl reload nginx

  • Проверка синтаксиса конфига: nginx -t

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×