Обзор развертывания 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-сертификатов.
Процесс установки приложения¶
Развертывание выполняется путем установки пакетов через системный менеджер пакетов и настройки веб-сервера:
-
Обновление кэша репозиториев
apt. -
Установка компонентов:
nginx,certbot,python3-certbot-nginxиopenssl. -
Создание необходимых директорий с соответствующими правами доступа.
-
Настройка временного HTTP-сервера для прохождения проверки Let's Encrypt.
-
Получение SSL-сертификатов через Certbot в режиме
--webroot. -
Перенаправление (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