✨ Новые скрипты: - scripts/check-nginx.sh - полная диагностика nginx - scripts/nginx-quick-check.sh - быстрая проверка 🔧 Новые команды Makefile: - make check-nginx - быстрая проверка - make check-nginx-full - полная диагностика 📊 Что проверяют скрипты: - Статус службы nginx - Корректность конфигурации - Прослушиваемые порты (80, 443) - Доступность backend/frontend сервисов - Проксирование через nginx - Доменные имена и DNS - SSL сертификаты - Анализ логов и конфигурации - Рекомендации по исправлению 📝 Документация: - docs/NGINX_DIAGNOSTICS.md - руководство по диагностике 🎯 Использование на сервере: - ./scripts/nginx-quick-check.sh - ./scripts/check-nginx.sh
3.9 KiB
3.9 KiB
Диагностика nginx для CatLink
Скрипты проверки
🚀 Быстрая проверка
make check-nginx
# ИЛИ
./scripts/nginx-quick-check.sh
Что проверяет:
- ✅ Статус службы nginx
- ✅ Корректность конфигурации
- ✅ Прослушивание портов
- ✅ Доступность backend (порт 8000)
- ✅ Доступность frontend (порт 3000)
- ✅ Работа проксирования через nginx
- ✅ Доступность по доменному имени
🔍 Полная диагностика
make check-nginx-full
# ИЛИ
./scripts/check-nginx.sh
Что проверяет:
- 🔧 Установка и статус nginx
- 📝 Конфигурационные файлы
- 🌐 Прослушиваемые порты (80, 443)
- 🔗 Доступность backend сервисов
- 🌍 Проверка через nginx
- 🌐 Доменные имена
- 🔒 SSL сертификаты
- 📄 Анализ конфигурации
- 📊 Логи nginx
- 💡 Рекомендации по исправлению
Типичные проблемы и решения
❌ nginx не работает
sudo systemctl start nginx
sudo systemctl enable nginx
❌ Ошибка в конфигурации
sudo nginx -t
./scripts/setup-nginx.sh
❌ Порт 80 не прослушивается
sudo systemctl restart nginx
sudo ss -tlnp | grep nginx
❌ Backend недоступен
make status
make up-prod
docker ps
❌ Frontend недоступен
make logs-frontend
make restart
❌ Домен недоступен
# Проверьте DNS записи
dig links.shareon.kr
nslookup links.shareon.kr
# Проверьте nginx конфигурацию
sudo nginx -t
Проверка конфигурации вручную
Проверка nginx
# Статус службы
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
Проверка портов
# Все прослушиваемые порты
sudo ss -tlnp
# Только nginx
sudo ss -tlnp | grep nginx
# Проверка портов 80 и 443
sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :443
Проверка сервисов
# 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 контейнеров
# Статус контейнеров
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
Автоматическая диагностика
Для автоматической проверки при развертывании добавьте в ваши скрипты:
# В конце deploy скрипта
echo "🔍 Проверка развертывания..."
./scripts/nginx-quick-check.sh
if [ $? -eq 0 ]; then
echo "✅ Развертывание успешно завершено!"
else
echo "❌ Обнаружены проблемы. Запустите полную диагностику:"
echo " ./scripts/check-nginx.sh"
fi
Мониторинг
Для постоянного мониторинга можете добавить в crontab:
# Проверка каждые 5 минут
*/5 * * * * /opt/links/scripts/nginx-quick-check.sh >> /var/log/catlink-health.log 2>&1