diff --git a/DEPLOYMENT_GUIDE.md b/DEPLOYMENT_GUIDE.md index 1c627e4..15679d6 100644 --- a/DEPLOYMENT_GUIDE.md +++ b/DEPLOYMENT_GUIDE.md @@ -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/ diff --git a/DEPLOYMENT_SCRIPTS.md b/DEPLOYMENT_SCRIPTS.md index 9eaf47f..f0f666b 100644 --- a/DEPLOYMENT_SCRIPTS.md +++ b/DEPLOYMENT_SCRIPTS.md @@ -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/` | Бписок бэкапов | --- diff --git a/SERVER_FIX.md b/SERVER_FIX.md new file mode 100644 index 0000000..98e5539 --- /dev/null +++ b/SERVER_FIX.md @@ -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 diff --git a/deploy.sh b/deploy.sh index b5c0ec8..ce37e0e 100755 --- a/deploy.sh +++ b/deploy.sh @@ -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 "БтатичСскиС Ρ„Π°ΠΉΠ»Ρ‹ собраны" } diff --git a/quick-deploy.sh b/quick-deploy.sh index fb3d3d9..23967bb 100755 --- a/quick-deploy.sh +++ b/quick-deploy.sh @@ -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 ""