- Changed 'python manage.py' to 'python smartsoltech/manage.py' in all deployment scripts - Fixed deploy.sh, quick-deploy.sh - Updated DEPLOYMENT_GUIDE.md and DEPLOYMENT_SCRIPTS.md documentation - Added SERVER_FIX.md with instructions for server fix Fixes issue: python: can't open file '/app/manage.py': [Errno 2] No such file or directory
3.4 KiB
3.4 KiB
🔧 Исправление на сервере
Проблема
python: can't open file '/app/manage.py': [Errno 2] No such file or directory
Причина
В контейнере django_app файл manage.py находится в подпапке smartsoltech/, а не в корне /app/.
✅ Решение
Вариант 1: Обновить код из Git (рекомендуется)
cd /opt/smartsoltech_site
git pull origin master
./quick-deploy.sh
Вариант 2: Исправить вручную
Исправить только для текущего сеанса:
# Применить миграции
docker exec django_app python smartsoltech/manage.py migrate --noinput
# Собрать статику
docker exec django_app python smartsoltech/manage.py collectstatic --noinput
# Создать суперпользователя
docker exec -it django_app python smartsoltech/manage.py createsuperuser
# Проверить статус
docker compose ps
Исправить скрипт навсегда:
# Редактировать quick-deploy.sh
nano quick-deploy.sh
# Найти строки:
docker exec django_app python manage.py migrate --noinput
docker exec django_app python manage.py collectstatic --noinput
# Заменить на:
docker exec django_app python smartsoltech/manage.py migrate --noinput
docker exec django_app python smartsoltech/manage.py collectstatic --noinput
# Сохранить: Ctrl+O, Enter, Ctrl+X
🧪 Проверка работоспособности
# Проверить страницы
curl -I http://localhost:8000/
curl -I http://localhost:8000/services/
curl -I http://localhost:8000/blog/
# Проверить логи
docker logs django_app --tail 50
# Проверить статус контейнеров
docker compose ps
✅ Ожидаемый результат
После исправления команды должны выполниться успешно:
6/6 Применение миграций и сборка статики...
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions, web, comunication
Running migrations:
No migrations to apply.
128 static files copied to '/app/staticfiles'.
Проверка статуса контейнеров:
NAME IMAGE STATUS
django_app ... Up (healthy)
postgres_db ... Up (healthy)
telegram_bot ... Up
📝 Все правильные команды для сервера
# Миграции
docker exec django_app python smartsoltech/manage.py migrate
# Статика
docker exec django_app python smartsoltech/manage.py collectstatic --noinput
# Создать суперпользователя
docker exec -it django_app python smartsoltech/manage.py createsuperuser
# Проверить миграции
docker exec django_app python smartsoltech/manage.py showmigrations
# Открыть Django shell
docker exec -it django_app python smartsoltech/manage.py shell
# Создать приложение
docker exec django_app python smartsoltech/manage.py startapp myapp
Создано: 24 ноября 2025 г.
Исправлено в: deploy.sh, quick-deploy.sh, DEPLOYMENT_GUIDE.md, DEPLOYMENT_SCRIPTS.md