# Диагностика nginx для CatLink ## Скрипты проверки ### 🚀 Быстрая проверка ```bash make check-nginx # ИЛИ ./scripts/nginx-quick-check.sh ``` **Что проверяет:** - ✅ Статус службы nginx - ✅ Корректность конфигурации - ✅ Прослушивание портов - ✅ Доступность backend (порт 8000) - ✅ Доступность frontend (порт 3000) - ✅ Работа проксирования через nginx - ✅ Доступность по доменному имени ### 🔍 Полная диагностика ```bash make check-nginx-full # ИЛИ ./scripts/check-nginx.sh ``` **Что проверяет:** - 🔧 Установка и статус nginx - 📝 Конфигурационные файлы - 🌐 Прослушиваемые порты (80, 443) - 🔗 Доступность backend сервисов - 🌍 Проверка через nginx - 🌐 Доменные имена - 🔒 SSL сертификаты - 📄 Анализ конфигурации - 📊 Логи nginx - 💡 Рекомендации по исправлению ## Типичные проблемы и решения ### ❌ nginx не работает ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` ### ❌ Ошибка в конфигурации ```bash sudo nginx -t ./scripts/setup-nginx.sh ``` ### ❌ Порт 80 не прослушивается ```bash sudo systemctl restart nginx sudo ss -tlnp | grep nginx ``` ### ❌ Backend недоступен ```bash make status make up-prod docker ps ``` ### ❌ Frontend недоступен ```bash make logs-frontend make restart ``` ### ❌ Домен недоступен ```bash # Проверьте DNS записи dig links.shareon.kr nslookup links.shareon.kr # Проверьте nginx конфигурацию sudo nginx -t ``` ## Проверка конфигурации вручную ### Проверка nginx ```bash # Статус службы sudo systemctl status nginx # Проверка конфигурации sudo nginx -t # Перезагрузка конфигурации sudo nginx -s reload # Просмотр логов sudo tail -f /var/log/nginx/access.log sudo tail -f /var/log/nginx/error.log ``` ### Проверка портов ```bash # Все прослушиваемые порты sudo ss -tlnp # Только nginx sudo ss -tlnp | grep nginx # Проверка портов 80 и 443 sudo netstat -tlnp | grep :80 sudo netstat -tlnp | grep :443 ``` ### Проверка сервисов ```bash # Backend API curl -I http://localhost:8000/api/ # Frontend curl -I http://localhost:3000/ # Через nginx curl -I http://localhost/ curl -I http://localhost/api/ curl -I http://links.shareon.kr/ ``` ### Проверка Docker контейнеров ```bash # Статус контейнеров docker ps # Логи docker logs links-web-1 docker logs links-frontend-1 docker logs links-db-1 # Переменные окружения docker exec links-frontend-1 env | grep NEXT_PUBLIC ``` ## Автоматическая диагностика Для автоматической проверки при развертывании добавьте в ваши скрипты: ```bash # В конце deploy скрипта echo "🔍 Проверка развертывания..." ./scripts/nginx-quick-check.sh if [ $? -eq 0 ]; then echo "✅ Развертывание успешно завершено!" else echo "❌ Обнаружены проблемы. Запустите полную диагностику:" echo " ./scripts/check-nginx.sh" fi ``` ## Мониторинг Для постоянного мониторинга можете добавить в crontab: ```bash # Проверка каждые 5 минут */5 * * * * /opt/links/scripts/nginx-quick-check.sh >> /var/log/catlink-health.log 2>&1 ```