uploader-bot/docs/REMOTE_DIAGNOSIS_GUIDE.md

4.2 KiB
Raw Permalink Blame History

Руководство по удаленной диагностике MY Network сервера

Проблема

  • SSH недоступен на порту 22 (Connection refused)
  • Nginx работает на порту 80, но возвращает 404 для всех запросов
  • Приложения на портах 3000, 5000, 8080 недоступны

Диагностика на сервере (выполнить локально)

1. Проверить статус служб

# Проверить статус Docker
sudo systemctl status docker

# Проверить статус MyUploader service
sudo systemctl status myuploader

# Проверить запущенные контейнеры
sudo docker ps -a

# Проверить логи контейнеров
sudo docker logs uploader-bot-app-1
sudo docker logs uploader-bot-postgres-1
sudo docker logs uploader-bot-nginx-1

2. Проверить сетевые соединения

# Проверить какие порты слушает система
sudo netstat -tulpn | grep LISTEN

# Проверить статус nginx
sudo nginx -t
sudo systemctl status nginx

# Проверить конфигурацию nginx
sudo cat /etc/nginx/sites-enabled/default

3. Проверить Docker Compose

# Перейти в директорию проекта
cd /home/myuploader/my-uploader-bot

# Проверить статус compose
sudo docker-compose -f docker-compose.production.yml ps

# Посмотреть логи всех сервисов
sudo docker-compose -f docker-compose.production.yml logs --tail=50

# Перезапустить сервисы
sudo docker-compose -f docker-compose.production.yml down
sudo docker-compose -f docker-compose.production.yml up -d

4. Проверить SSH

# Проверить статус SSH
sudo systemctl status ssh

# Проверить конфигурацию SSH
sudo cat /etc/ssh/sshd_config | grep -E "Port|PasswordAuthentication|PubkeyAuthentication"

# Перезапустить SSH если нужно
sudo systemctl restart ssh

5. Проверить брандмауэр

# Проверить статус UFW
sudo ufw status

# Если UFW активен, проверить правила
sudo ufw status numbered

# Разрешить SSH (если заблокирован)
sudo ufw allow 22/tcp

6. Быстрое восстановление

# Если сервисы не работают, запустить быстрое восстановление
cd /home/myuploader/my-uploader-bot
sudo ./diagnose.sh

# Проверить health API приложения
curl -I http://localhost:3000/api/health
curl -I http://localhost:5000/api/health

Возможные решения

Проблема с nginx proxy

Если nginx возвращает 404, проверить файл /etc/nginx/sites-enabled/default:

sudo cat /etc/nginx/sites-enabled/default

Должен содержать:

location /api/ {
    proxy_pass http://localhost:3000/api/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

Проблема с Docker

Если контейнеры не запущены:

cd /home/myuploader/my-uploader-bot
sudo docker-compose -f docker-compose.production.yml up -d --build

Проблема с SSH

Если SSH заблокирован файрволлом:

sudo ufw allow 22/tcp
sudo systemctl restart ssh

Команды для отправки результатов

После выполнения диагностики, отправьте результаты:

# Сохранить всю диагностику в файл
echo "=== DOCKER STATUS ===" > diagnosis.txt
sudo docker ps -a >> diagnosis.txt
echo "=== DOCKER LOGS ===" >> diagnosis.txt
sudo docker-compose -f docker-compose.production.yml logs --tail=20 >> diagnosis.txt
echo "=== NGINX STATUS ===" >> diagnosis.txt
sudo systemctl status nginx >> diagnosis.txt
echo "=== SSH STATUS ===" >> diagnosis.txt
sudo systemctl status ssh >> diagnosis.txt
echo "=== NETWORK PORTS ===" >> diagnosis.txt
sudo netstat -tulpn | grep LISTEN >> diagnosis.txt

# Просмотреть файл
cat diagnosis.txt