vm:nginx:04-nginx_menu

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
vm:nginx:04-nginx_menu [2025/08/29 12:31] – создано adminvm:nginx:04-nginx_menu [2026/03/03 12:15] (текущий) – удалено admin
Строка 1: Строка 1:
-====== Nginx Proxy Manager - Скрипт управления ====== 
  
-===== Описание ===== 
- 
-Скрипт для удобного управления nginx-proxy инстансом с Let's Encrypt через интерактивное меню. 
- 
-**Расположение:** ''/opt/nginx/nginx-manager.sh'' 
- 
-**Контейнеры:** 
-  * ''nginx_proxy'' - основной прокси-сервер 
-  * ''nginx_letsencrypt'' - управление SSL сертификатами 
- 
-===== Установка скрипта ===== 
- 
-==== Шаг 1: Создание файла ==== 
- 
-<code bash> 
-# Переходим в директорию nginx-proxy 
-cd /opt/nginx 
- 
-# Создаем файл скрипта 
-nano nginx-manager.sh 
-</code> 
- 
-<note>Скопируйте содержимое скрипта из артефакта выше и вставьте в файл.</note> 
- 
-==== Шаг 2: Настройка прав доступа ==== 
- 
-<code bash> 
-# Делаем файл исполняемым   
-chmod +x nginx-manager.sh 
- 
-# Создаем символическую ссылку для глобального доступа 
-sudo ln -sf /opt/nginx/nginx-manager.sh /usr/local/bin/nginx-manager 
-</code> 
- 
-===== Запуск скрипта ===== 
- 
-==== Из директории /opt/nginx ==== 
-<code bash> 
-cd /opt/nginx 
-./nginx-manager.sh 
-</code> 
- 
-==== Из любой директории ==== 
-<code bash> 
-nginx-manager 
-</code> 
- 
-===== Функции меню ===== 
- 
-==== Управление сервисами ==== 
- 
-^ Пункт меню ^ Действие ^ Описание ^ 
-| **1** | Запустить сервисы | Выполняет ''docker-compose up -d'' | 
-| **2** | Остановить сервисы | Выполняет ''docker-compose stop'' | 
-| **3** | Перезагрузить сервисы | Выполняет ''docker-compose restart'' | 
- 
-==== Просмотр логов ==== 
- 
-^ Пункт меню ^ Действие ^ Описание ^ 
-| **4** | Логи nginx_proxy | Показывает последние 50 строк | 
-| **5** | Логи nginx_letsencrypt | Показывает последние 50 строк | 
-| **6** | Real-time nginx_proxy | Отслеживание в реальном времени | 
-| **7** | Real-time nginx_letsencrypt | Отслеживание в реальном времени | 
- 
-==== Дополнительные функции ==== 
- 
-^ Пункт меню ^ Действие ^ Описание ^ 
-| **8** | Информация | Статистика, порты, полезные команды | 
-| **0** | Выход | Завершение работы скрипта | 
- 
-===== Особенности интерфейса ===== 
- 
-  * **Цветовая схема:** Зеленый = активен, красный = остановлен 
-  * **Статус в реальном времени:** Отображается при каждом открытии меню 
-  * **Обработка ошибок:** Уведомления об успешных/неуспешных операциях 
-  * **Навигация:** Простые цифровые команды 
- 
-===== Автозапуск сервиса (опционально) ===== 
- 
-==== Создание systemd сервиса ==== 
- 
-<code bash> 
-# Создаем файл сервиса 
-sudo nano /etc/systemd/system/nginx-proxy.service 
-</code> 
- 
-<file> 
-[Unit] 
-Description=Nginx Proxy with Let's Encrypt 
-Requires=docker.service 
-After=docker.service 
- 
-[Service] 
-Type=oneshot 
-RemainAfterExit=yes 
-WorkingDirectory=/opt/nginx 
-ExecStart=/usr/local/bin/docker-compose up -d 
-ExecStop=/usr/local/bin/docker-compose stop 
-TimeoutStartSec=0 
- 
-[Install] 
-WantedBy=multi-user.target 
-</file> 
- 
-==== Активация автозапуска ==== 
- 
-<code bash> 
-# Перезагружаем systemd 
-sudo systemctl daemon-reload 
- 
-# Включаем автозапуск 
-sudo systemctl enable nginx-proxy.service 
- 
-# Запускаем сервис 
-sudo systemctl start nginx-proxy.service 
- 
-# Проверяем статус 
-sudo systemctl status nginx-proxy.service 
-</code> 
- 
-===== Полезные алиасы ===== 
- 
-==== Добавление в ~/.bashrc ==== 
- 
-<code bash> 
-# Алиасы для nginx-proxy 
-alias nginx-start='cd /opt/nginx && docker-compose up -d' 
-alias nginx-stop='cd /opt/nginx && docker-compose stop' 
-alias nginx-restart='cd /opt/nginx && docker-compose restart' 
-alias nginx-logs='docker logs nginx_proxy' 
-alias nginx-logs-ssl='docker logs nginx_letsencrypt' 
-alias nginx-menu='/opt/nginx/nginx-manager.sh' 
-</code> 
- 
-==== Применение изменений ==== 
- 
-<code bash> 
-source ~/.bashrc 
-</code> 
- 
-===== Диагностика и устранение проблем ===== 
- 
-==== Проверка статуса контейнеров ==== 
- 
-<code bash> 
-# Все запущенные контейнеры 
-docker ps 
- 
-# Все контейнеры (включая остановленные) 
-docker ps -a 
- 
-# Только nginx контейнеры 
-docker ps --filter "name=nginx" 
-</code> 
- 
-==== Проверка логов ==== 
- 
-<code bash> 
-# Логи nginx-proxy 
-docker logs nginx_proxy 
- 
-# Логи Let's Encrypt 
-docker logs nginx_letsencrypt 
- 
-# Логи в реальном времени 
-docker logs -f nginx_proxy 
-</code> 
- 
-==== Проверка конфигурации ==== 
- 
-<code bash> 
-# Тест nginx конфигурации 
-docker exec nginx_proxy nginx -t 
- 
-# Перезагрузка nginx без перезапуска контейнера 
-docker exec nginx_proxy nginx -s reload 
- 
-# Просмотр активной конфигурации 
-docker exec nginx_proxy cat /etc/nginx/conf.d/default.conf 
-</code> 
- 
-==== Проверка сертификатов ==== 
- 
-<code bash> 
-# Список сертификатов 
-ls -la /opt/nginx/certs/ 
- 
-# Проверка срока действия сертификата 
-openssl x509 -in /opt/nginx/certs/your-domain.com.crt -text -noout | grep "Not After" 
-</code> 
- 
-===== Структура файлов ===== 
- 
-<file> 
-/opt/nginx/ 
-├── docker-compose.yml      # Основная конфигурация 
-├── nginx-manager.sh        # Скрипт управления 
-├── certs/                  # SSL сертификаты 
-├── vhost.d/               # Виртуальные хосты 
-├── html/                  # Веб-файлы 
-└── acme/                  # ACME данные 
-</file> 
- 
-===== Безопасность ===== 
- 
-<note warning> 
-**Важно:** Убедитесь, что скрипт доступен только авторизованным пользователям: 
- 
-<code bash> 
-# Ограничение доступа к скрипту 
-chmod 750 /opt/nginx/nginx-manager.sh 
- 
-# Создание группы для управления nginx 
-sudo groupadd nginx-admins 
-sudo usermod -a -G nginx-admins username 
-</code> 
-</note> 
- 
-===== Мониторинг ===== 
- 
-==== Простой мониторинг через cron ==== 
- 
-<code bash> 
-# Добавляем в crontab проверку каждые 5 минут 
-*/5 * * * * /usr/bin/docker ps | grep nginx_proxy || /opt/nginx/nginx-manager.sh start >/dev/null 2>&1 
-</code> 
- 
-==== Уведомления о статусе ==== 
- 
-<code bash> 
-# Скрипт проверки статуса с уведомлениями 
-#!/bin/bash 
-if ! docker ps | grep -q nginx_proxy; then 
-    echo "Nginx Proxy не запущен!" | mail -s "Nginx Alert" admin@domain.com 
-fi 
-</code> 
- 
-===== Обновление ===== 
- 
-==== Обновление образов ==== 
- 
-<code bash> 
-# Переходим в директорию 
-cd /opt/nginx 
- 
-# Останавливаем сервисы 
-docker-compose stop 
- 
-# Обновляем образы 
-docker-compose pull 
- 
-# Запускаем с новыми образами 
-docker-compose up -d 
- 
-# Удаляем старые образы 
-docker image prune -f 
-</code> 
- 
-<note important> 
-Всегда создавайте резервные копии перед обновлением: 
- 
-<code bash> 
-# Резервная копия конфигураций 
-tar -czf nginx-backup-$(date +%Y%m%d).tar.gz /opt/nginx/ 
-</code> 
-</note> 
  • vm/nginx/04-nginx_menu.1756470666.txt.gz
  • Последнее изменение: 2025/08/29 12:31
  • admin