fix: диагностика 502, /health и unit systemd для Caddy

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-16 21:08:02 +03:00
parent ccebf0d26d
commit c4891b428b
6 changed files with 157 additions and 20 deletions
+53
View File
@@ -0,0 +1,53 @@
#!/bin/bash
# Диагностика HTTP 502 (Caddy не достучался до Node)
set -e
echo "=== Shop / Caddy 502 diagnostic ==="
echo
echo "1. Служба shop"
systemctl is-active shop 2>/dev/null || echo " shop: не установлена или не active"
systemctl status shop --no-pager -l 2>/dev/null | head -20 || true
echo
echo "2. Служба caddy"
systemctl is-active caddy 2>/dev/null || true
echo
echo "3. Порт 3000"
if command -v ss >/dev/null; then
ss -tlnp | grep ':3000' || echo " Ничего не слушает порт 3000 — запустите shop"
else
netstat -tlnp 2>/dev/null | grep ':3000' || echo " Порт 3000 не слушается"
fi
echo
echo "4. curl backend"
if curl -sf --max-time 3 http://127.0.0.1:3000/health; then
echo
echo " OK — Node отвечает, проблема скорее в Caddyfile"
else
echo " FAIL — Node не отвечает на 127.0.0.1:3000"
echo " Проверьте: journalctl -u shop -n 50 --no-pager"
fi
echo
echo "5. .env (HOST, PORT)"
if [ -f /opt/shop/.env ]; then
grep -E '^(HOST|PORT|NODE_ENV)=' /opt/shop/.env || true
else
echo " /opt/shop/.env не найден"
fi
echo
echo "6. Права data/"
if [ -d /opt/shop/data ]; then
ls -la /opt/shop/data
else
echo " Каталог data/ отсутствует — создайте: mkdir -p /opt/shop/data && chown www-data:www-data /opt/shop/data"
fi
echo
echo "7. Node"
which node || which nodejs || echo " node не найден в PATH"
node -v 2>/dev/null || nodejs -v 2>/dev/null || true