42177555ac
Co-authored-by: Cursor <cursoragent@cursor.com>
2.3 KiB
2.3 KiB
Решение проблем
Диагностика одной командой
bash /opt/shop/shop10/scripts/diagnose-502.sh
(замените путь на каталог вашего клона — где есть package.json)
scripts/server-update.sh: No such file or directory
Вы не в каталоге репозитория или клон в подпапке (например /opt/shop/shop10):
ls /opt/shop/shop10/package.json
bash /opt/shop/shop10/scripts/server-update.sh
В deploy/shop.service укажите тот же путь в WorkingDirectory и EnvironmentFile.
HTTP 502 (Caddy / браузер)
SSL работает, страница 502 — Caddy жив, backend (Node) не отвечает.
curl -s http://127.0.0.1:3000/health
systemctl status shop
journalctl -u shop -n 30 --no-pager
Пока /health не OK — Caddy будет отдавать 502.
ECONNREFUSED 127.0.0.1:5432
PostgreSQL не запущен или не установлен.
bash /opt/shop/scripts/fix-db-connection.sh
Или вручную:
systemctl start postgresql
pg_isready -h 127.0.0.1 -p 5432
bash scripts/setup-postgres-ubuntu.sh
Проверьте DATABASE_URL в /opt/shop/.env.
Служба shop сразу останавливается
В логе только «База уже содержит товары» без строки Магазин: http://...:
cd /opt/shop && git pull # нужен исправленный seed.js (v0.10.0+)
systemctl restart shop
dubious ownership (git pull)
Не делайте chown -R www-data /opt/shop.
chown -R root:root /opt/shop
git config --global --add safe.directory /opt/shop
git pull
Docker: контейнер app unhealthy
docker compose logs app
docker compose logs postgres
docker compose up -d --build
Docker: нет связи с БД
Проверьте, что DATABASE_URL в compose указывает на хост postgres, а не 127.0.0.1 (внутри контейнера app).