mysurik.ru

Полное руководство: Установка Nginx Proxy Manager (NPM) на Proxmox VE и его использование

Это руководство проведет вас через процесс установки и настройки Nginx Proxy Manager (NPM) в виртуальной машине (VM) на Proxmox VE. NPM — это удобный веб-интерфейс для управления конфигурацией Nginx, позволяющий легко настроить обратный прокси, SSL/TLS сертификаты Let’s Encrypt и многое другое.

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

  • Proxmox VE: Установленный и работающий сервер Proxmox VE.
  • Виртуальная машина (VM): Созданная VM с установленной операционной системой Debian или Ubuntu (рекомендуется). Минимальные требования: 2GB RAM, 40GB дискового пространства.
  • Доменное имя: Доменное имя, которое вы будете использовать для доступа к вашим сервисам через NPM.
  • Статический IP-адрес: Статический IP-адрес для вашей VM.

Шаг 1: Создание и настройка виртуальной машины (VM)

  1. Создайте новую VM в Proxmox VE. Выберите Debian или Ubuntu в качестве операционной системы.
  2. Выделите ресурсы: Рекомендуется выделить минимум 2GB RAM и 40GB дискового пространства.
  3. Установите операционную систему: Следуйте инструкциям на экране для установки Debian или Ubuntu.
  4. Настройте статический IP-адрес: После установки операционной системы настройте статический IP-адрес для вашей VM. Это можно сделать через Network Manager (GUI) или отредактировав файлы конфигурации сети (CLI).

Шаг 2: Установка Docker и Docker Compose

NPM работает в контейнере Docker, поэтому необходимо установить Docker и Docker Compose на вашу VM.

  1. Обновите список пакетов:
sudo apt update && sudo apt upgrade -y
  1. Установите необходимые зависимости:
sudo apt install curl gnupg-key ca-certificates lsb-release ufw -y
  1. Добавьте ключ GPG для Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. Добавьте репозиторий Docker:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] http://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
  1. Обновите список пакетов:
sudo apt update
  1. Установите Docker:
sudo apt install docker-ce docker-compose -y
  1. Добавьте пользователя в группу docker:
sudo usermod -aG docker $USER
newgrp docker
  1. Проверьте установку Docker:
docker --version
docker compose version

Шаг 3: Установка Nginx Proxy Manager (NPM)

  1. Создайте директорию для данных NPM:
mkdir -p /opt/npm
cd /opt/npm
  1. Создайте файл docker-compose.yml:
nano docker-compose.yml
  1. Вставьте следующую конфигурацию в docker-compose.yml:
version: '3.8'

services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
      - "80:80"       # HTTP
      - "443:443"     # HTTPS
      - "81:81"       # Web UI (измените, если порт 81 занят)
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  • image: Указывает образ Docker для NPM.
  • restart: Автоматически перезапускает контейнер в случае сбоя.
  • ports: Определяет порты, которые будут перенаправлены на контейнер.
  • volumes: Монтирует директории для хранения данных и SSL/TLS сертификатов.
  1. Запустите NPM:
docker compose up -d
  1. Дождитесь запуска контейнера. Это может занять несколько минут. Проверьте статус контейнера:
docker ps

Шаг 4: Настройка Nginx Proxy Manager (NPM) через веб-интерфейс

  1. Откройте веб-браузер и перейдите по адресу http://<IP-адрес_вашей_VM>:81.
  2. Создайте учетную запись администратора. Укажите имя пользователя, пароль и адрес электронной почты.
  3. Настройте обратный прокси:
    • Перейдите в раздел «Proxies Hosts».
    • Нажмите кнопку «Add Proxy Host».
    • Укажите доменное имя, которое вы будете использовать для доступа к вашему сервису (например, myservice.example.com).
    • Укажите IP-адрес и порт вашего внутреннего сервиса (например, 192.168.1.10:3000).
    • Выберите схему подключения (HTTP или HTTPS).
    • Нажмите кнопку «Save».
  4. Настройте SSL/TLS сертификаты Let’s Encrypt:
    • Перейдите в раздел «SSL Certificates».
    • Нажмите кнопку «Add SSL Certificate».
    • Укажите доменное имя, для которого вы хотите получить сертификат (например, myservice.example.com).
    • Выберите способ проверки домена (DNS Challenge или HTTP Challenge). Рекомендуется использовать DNS Challenge, если у вас есть доступ к настройкам DNS вашего домена.
    • Нажмите кнопку «Save».

Шаг 5: Проверка работы NPM

  1. Откройте веб-браузер и перейдите по адресу https://<доменное_имя>. Вы должны увидеть ваш внутренний сервис, доступный через обратный прокси с SSL/TLS сертификатом Let’s Encrypt.

Дополнительные советы:

  • Регулярно обновляйте NPM: Выполните команду docker compose pull и docker compose up -d для обновления контейнера до последней версии.
  • Используйте DNS Challenge для получения SSL/TLS сертификатов: Это более надежный способ проверки домена, чем HTTP Challenge.
  • Настройте автоматическое обновление SSL/TLS сертификатов: NPM автоматически обновляет сертификаты Let’s Encrypt перед их истечением.
  • Изучите документацию NPM: Документация NPM содержит подробную информацию о всех функциях и настройках: https://nginxproxymanager.com/

Это руководство предоставляет базовую информацию об установке и настройке Nginx Proxy Manager на Proxmox VE. Вы можете настроить NPM для различных задач, таких как балансировка нагрузки, кэширование и защита от DDoS-атак. Удачи!

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *