📋 Добавлены скрипты диагностики nginx
✨ Новые скрипты: - 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
This commit is contained in:
166
docs/NGINX_DIAGNOSTICS.md
Normal file
166
docs/NGINX_DIAGNOSTICS.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# Диагностика 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
|
||||
```
|
||||
Reference in New Issue
Block a user