- 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
115 lines
3.4 KiB
Markdown
115 lines
3.4 KiB
Markdown
# 🔧 Исправление на сервере
|
||
|
||
## Проблема
|
||
```
|
||
python: can't open file '/app/manage.py': [Errno 2] No such file or directory
|
||
```
|
||
|
||
## Причина
|
||
В контейнере `django_app` файл `manage.py` находится в подпапке `smartsoltech/`, а не в корне `/app/`.
|
||
|
||
## ✅ Решение
|
||
|
||
### Вариант 1: Обновить код из Git (рекомендуется)
|
||
|
||
```bash
|
||
cd /opt/smartsoltech_site
|
||
git pull origin master
|
||
./quick-deploy.sh
|
||
```
|
||
|
||
### Вариант 2: Исправить вручную
|
||
|
||
**Исправить только для текущего сеанса:**
|
||
```bash
|
||
# Применить миграции
|
||
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
|
||
```
|
||
|
||
**Исправить скрипт навсегда:**
|
||
```bash
|
||
# Редактировать 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
|
||
```
|
||
|
||
## 🧪 Проверка работоспособности
|
||
|
||
```bash
|
||
# Проверить страницы
|
||
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
|
||
```
|
||
|
||
## 📝 Все правильные команды для сервера
|
||
|
||
```bash
|
||
# Миграции
|
||
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
|