# Руководство по удаленной диагностике MY Network сервера ## Проблема - SSH недоступен на порту 22 (Connection refused) - Nginx работает на порту 80, но возвращает 404 для всех запросов - Приложения на портах 3000, 5000, 8080 недоступны ## Диагностика на сервере (выполнить локально) ### 1. Проверить статус служб ```bash # Проверить статус 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. Проверить сетевые соединения ```bash # Проверить какие порты слушает система sudo netstat -tulpn | grep LISTEN # Проверить статус nginx sudo nginx -t sudo systemctl status nginx # Проверить конфигурацию nginx sudo cat /etc/nginx/sites-enabled/default ``` ### 3. Проверить Docker Compose ```bash # Перейти в директорию проекта 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 ```bash # Проверить статус SSH sudo systemctl status ssh # Проверить конфигурацию SSH sudo cat /etc/ssh/sshd_config | grep -E "Port|PasswordAuthentication|PubkeyAuthentication" # Перезапустить SSH если нужно sudo systemctl restart ssh ``` ### 5. Проверить брандмауэр ```bash # Проверить статус UFW sudo ufw status # Если UFW активен, проверить правила sudo ufw status numbered # Разрешить SSH (если заблокирован) sudo ufw allow 22/tcp ``` ### 6. Быстрое восстановление ```bash # Если сервисы не работают, запустить быстрое восстановление 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`: ```bash sudo cat /etc/nginx/sites-enabled/default ``` Должен содержать: ```nginx location /api/ { proxy_pass http://localhost:3000/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } ``` ### Проблема с Docker Если контейнеры не запущены: ```bash cd /home/myuploader/my-uploader-bot sudo docker-compose -f docker-compose.production.yml up -d --build ``` ### Проблема с SSH Если SSH заблокирован файрволлом: ```bash sudo ufw allow 22/tcp sudo systemctl restart ssh ``` ## Команды для отправки результатов После выполнения диагностики, отправьте результаты: ```bash # Сохранить всю диагностику в файл 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