7060b0566a
pg + connect-pg-simple, async routes, docker-compose, скрипт setup-postgres. Co-authored-by: Cursor <cursoragent@cursor.com>
53 lines
1.3 KiB
Bash
53 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Диагностика HTTP 502 (Caddy не достучался до Node / БД)
|
|
set -e
|
|
|
|
echo "=== Shop / Caddy 502 diagnostic ==="
|
|
echo
|
|
|
|
echo "1. PostgreSQL"
|
|
if command -v pg_isready >/dev/null; then
|
|
pg_isready -h 127.0.0.1 -p 5432 && echo " pg_isready: OK" || echo " pg_isready: FAIL"
|
|
else
|
|
echo " pg_isready не найден"
|
|
fi
|
|
echo
|
|
|
|
echo "2. Служба shop"
|
|
systemctl is-active shop 2>/dev/null || echo " shop: не active"
|
|
systemctl status shop --no-pager -l 2>/dev/null | head -15 || true
|
|
echo
|
|
|
|
echo "3. Служба caddy"
|
|
systemctl is-active caddy 2>/dev/null || true
|
|
echo
|
|
|
|
echo "4. Порт 3000"
|
|
if command -v ss >/dev/null; then
|
|
ss -tlnp | grep ':3000' || echo " Ничего не слушает порт 3000"
|
|
else
|
|
netstat -tlnp 2>/dev/null | grep ':3000' || true
|
|
fi
|
|
echo
|
|
|
|
echo "5. curl backend"
|
|
if curl -sf --max-time 3 http://127.0.0.1:3000/health; then
|
|
echo
|
|
echo " OK"
|
|
else
|
|
echo " FAIL — проверьте DATABASE_URL и journalctl -u shop"
|
|
fi
|
|
echo
|
|
|
|
echo "6. .env"
|
|
if [ -f /opt/shop/.env ]; then
|
|
grep -E '^(DATABASE_URL|HOST|PORT)=' /opt/shop/.env 2>/dev/null | sed 's/=.*/=***/' || true
|
|
grep -E '^DATABASE_URL=' /opt/shop/.env || echo " DATABASE_URL не задан"
|
|
else
|
|
echo " /opt/shop/.env не найден"
|
|
fi
|
|
echo
|
|
|
|
echo "7. Node"
|
|
which node && node -v
|