Files
smartsoltech_site/SERVER_FIX.md
Andrew K. Choi a2317bc619 🔧 Fix manage.py path in deployment scripts
- 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
2025-11-24 11:38:11 +09:00

3.4 KiB
Raw Blame History

🔧 Исправление на сервере

Проблема

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