🔧 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
This commit is contained in:
2025-11-24 11:38:11 +09:00
parent 1da6180658
commit a2317bc619
5 changed files with 125 additions and 11 deletions

View File

@@ -392,7 +392,7 @@ docker logs postgres_db --tail 100 -f
## 👤 Шаг 8: Создание суперпользователя
```bash
docker exec -it django_app python manage.py createsuperuser
docker exec -it django_app python smartsoltech/manage.py createsuperuser
```
## 📊 Шаг 9: Настройка мониторинга (опционально)
@@ -455,10 +455,10 @@ docker compose -f docker-compose.prod.yml up -d
sleep 10
# Применение миграций
docker exec django_app python manage.py migrate
docker exec django_app python smartsoltech/manage.py migrate
# Сборка статики
docker exec django_app python manage.py collectstatic --noinput
docker exec django_app python smartsoltech/manage.py collectstatic --noinput
# Проверка статуса
docker compose -f docker-compose.prod.yml ps
@@ -525,7 +525,7 @@ docker compose -f docker-compose.prod.yml restart django_app
### Проблема: Статические файлы не загружаются
```bash
# Пересборка статики
docker exec django_app python manage.py collectstatic --noinput
docker exec django_app python smartsoltech/manage.py collectstatic --noinput
# Проверка прав
docker exec nginx ls -la /var/www/static/

View File

@@ -345,8 +345,8 @@ sleep 10
| `./quick-deploy.sh` | Быстрый деплой без проверок |
| `docker compose ps` | Статус контейнеров |
| `docker logs django_app -f` | Просмотр логов в реальном времени |
| `docker exec django_app python manage.py migrate` | Ручное применение миграций |
| `docker exec django_app python manage.py collectstatic --noinput` | Ручная сборка статики |
| `docker exec django_app python smartsoltech/manage.py migrate` | Ручное применение миграций |
| `docker exec django_app python smartsoltech/manage.py collectstatic --noinput` | Ручная сборка статики |
| `ls -lh /var/backups/smartsoltech/` | Список бэкапов |
---

114
SERVER_FIX.md Normal file
View File

@@ -0,0 +1,114 @@
# 🔧 Исправление на сервере
## Проблема
```
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

View File

@@ -215,8 +215,8 @@ run_migrations() {
# Ожидание запуска БД
sleep 10
if docker exec django_app python manage.py migrate --check &>/dev/null; then
docker exec django_app python manage.py migrate --noinput
if docker exec django_app python smartsoltech/manage.py migrate --check &>/dev/null; then
docker exec django_app python smartsoltech/manage.py migrate --noinput
log_success "Миграции применены"
else
log_error "Ошибка при проверке миграций"
@@ -228,7 +228,7 @@ run_migrations() {
collect_static() {
log_info "Сборка статических файлов..."
docker exec django_app python manage.py collectstatic --noinput
docker exec django_app python smartsoltech/manage.py collectstatic --noinput
log_success "Статические файлы собраны"
}

View File

@@ -39,8 +39,8 @@ sleep 10
# Применение миграций и сборка статики
echo -e "${BLUE}6/6${NC} Применение миграций и сборка статики..."
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
# Проверка
echo ""