#!/bin/bash
# Скрипт диагностики для сервера
# Запустить на сервере: bash diagnose-server.sh

set -e

echo "=== ДИАГНОСТИКА WEBECOSYSTEM ==="
echo ""

# 1. Проверка PM2
echo "1. Статус PM2 процессов:"
pm2 list
echo ""

# 2. Проверка порта 3002
echo "2. Проверка порта 3002:"
ss -tuln | grep :3002 || echo "Порт 3002 не слушается"
netstat -tuln 2>/dev/null | grep :3002 || echo "netstat не доступен"
echo ""

# 3. Проверка переменных окружения
echo "3. Переменные окружения (.env):"
if [ -f .env ]; then
    grep -E 'PORT|NEXT_PUBLIC_BASE_PATH|NEXTAUTH_URL' .env || echo "Переменные не найдены"
else
    echo "Файл .env не найден!"
fi
echo ""

# 4. Логи PM2 webecosystem
echo "4. Последние 30 строк логов PM2 webecosystem:"
pm2 logs webecosystem --lines 30 --nostream 2>/dev/null || echo "Процесс webecosystem не найден в PM2"
echo ""

# 5. Проверка nginx конфигурации
echo "5. Проверка nginx конфигурации для /webecosystem:"
if [ -f /etc/nginx/sites-available/banana.furtabas.com ]; then
    echo "Конфигурация в sites-available:"
    grep -A 20 "location /webecosystem" /etc/nginx/sites-available/banana.furtabas.com || echo "location /webecosystem не найден"
elif [ -f /etc/nginx/sites-enabled/banana.furtabas.com ]; then
    echo "Конфигурация в sites-enabled:"
    grep -A 20 "location /webecosystem" /etc/nginx/sites-enabled/banana.furtabas.com || echo "location /webecosystem не найден"
else
    echo "Ищу конфигурацию nginx для banana.furtabas.com:"
    grep -r "banana.furtabas.com" /etc/nginx/ 2>/dev/null | head -5 || echo "Конфигурация не найдена"
fi
echo ""

# 6. Логи nginx ошибок
echo "6. Последние 20 строк логов nginx (ошибки):"
tail -20 /var/log/nginx/error.log 2>/dev/null || echo "Логи nginx недоступны"
echo ""

# 7. Проверка доступности Next.js сервера локально
echo "7. Проверка доступности localhost:3002:"
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" http://localhost:3002/webecosystem || echo "Сервер не отвечает"
echo ""

# 8. Проверка процесса Node.js на порту 3002
echo "8. Процессы Node.js:"
ps aux | grep -E "node|next" | grep -v grep || echo "Процессы Node.js не найдены"
echo ""

echo "=== ДИАГНОСТИКА ЗАВЕРШЕНА ==="

