dedef454c8
Co-authored-by: Cursor <cursoragent@cursor.com>
90 lines
2.5 KiB
Markdown
90 lines
2.5 KiB
Markdown
# Решение проблем
|
||
|
||
Полное руководство по развёртыванию: **[Сервер: установка и обновление](Server-Operations)**.
|
||
|
||
**Обновление на сервере (рекомендуется):**
|
||
|
||
```bash
|
||
export SHOP_ROOT=/opt/shop/shop10
|
||
bash "$SHOP_ROOT/scripts/server-update.sh"
|
||
```
|
||
|
||
`SHOP_ROOT` — каталог с `package.json` (у вас может быть `/opt/shop`).
|
||
|
||
Перед диагностикой:
|
||
|
||
```bash
|
||
export SHOP_ROOT=/opt/shop/shop10
|
||
cd "$SHOP_ROOT"
|
||
```
|
||
|
||
---
|
||
|
||
## Диагностика
|
||
|
||
```bash
|
||
bash "$SHOP_ROOT/scripts/diagnose-502.sh"
|
||
bash "$SHOP_ROOT/scripts/diagnose-shop-service.sh"
|
||
journalctl -u shop -n 50 --no-pager
|
||
```
|
||
|
||
---
|
||
|
||
## Краткая таблица ошибок
|
||
|
||
| Симптом | Что делать |
|
||
|---------|------------|
|
||
| `postgresql-17` not found | `sudo bash scripts/install-postgresql-ubuntu.sh` |
|
||
| Placeholder / `URL_РЕПОЗИТОРИЯ` | `git clone <ваш-url> "$SHOP_ROOT"` — не копировать шаблоны как команды |
|
||
| Нет `package.json` | `find /opt -name package.json`; `cd` в найденный каталог |
|
||
| detached HEAD | `bash scripts/git-sync.sh` |
|
||
| Нет `scripts/...` | `bash "$SHOP_ROOT/scripts/server-update.sh"` |
|
||
| Unit shop not found | `sudo bash scripts/install-shop-service.sh` |
|
||
| shop exit-code / auto-restart | `sudo bash scripts/free-port-3000.sh`; `systemctl restart shop` |
|
||
| 502 в браузере | `curl http://127.0.0.1:3000/health` — сначала backend |
|
||
| ECONNREFUSED :5432 | `bash scripts/fix-db-connection.sh` |
|
||
|
||
Подробности — в [Server-Operations](Server-Operations).
|
||
|
||
---
|
||
|
||
## HTTP 502 (Caddy / браузер)
|
||
|
||
```bash
|
||
curl -s http://127.0.0.1:3000/health
|
||
systemctl status shop
|
||
```
|
||
|
||
Пока `/health` не OK — Caddy будет отдавать 502.
|
||
|
||
---
|
||
|
||
## Docker
|
||
|
||
```bash
|
||
docker compose logs app
|
||
docker compose logs postgres
|
||
docker compose up -d --build
|
||
```
|
||
|
||
`DATABASE_URL` в compose должен указывать на сервис `postgres`, не на `127.0.0.1` внутри контейнера app.
|
||
|
||
---
|
||
|
||
## git pull / dubious ownership
|
||
|
||
Не делайте `chown -R www-data` на весь каталог репозитория.
|
||
|
||
```bash
|
||
git config --global --add safe.directory "$SHOP_ROOT"
|
||
cd "$SHOP_ROOT" && git pull
|
||
```
|
||
|
||
---
|
||
|
||
## Ссылки
|
||
|
||
- [Сервер: установка и обновление](Server-Operations)
|
||
- [Установка Docker](Install-Docker)
|
||
- [Установка без Docker](Install-Native)
|