d31a63829c
Co-authored-by: Cursor <cursoragent@cursor.com>
48 lines
1.5 KiB
Bash
48 lines
1.5 KiB
Bash
#!/bin/bash
|
|
# Диагностика службы shop
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "$SCRIPT_DIR/shop-root.sh"
|
|
|
|
echo "=== Диагностика shop.service ==="
|
|
echo "SHOP_ROOT=$SHOP_ROOT"
|
|
echo
|
|
|
|
echo "1. Unit"
|
|
systemctl cat shop.service 2>/dev/null | head -25 || echo " shop.service не найден"
|
|
echo
|
|
|
|
echo "2. PostgreSQL"
|
|
systemctl is-active postgresql 2>/dev/null || systemctl is-active 'postgresql@*' 2>/dev/null || echo " postgresql: не active"
|
|
pg_isready -q 2>/dev/null && echo " pg_isready (socket): OK" || echo " pg_isready (socket): FAIL"
|
|
pg_isready -h 127.0.0.1 -p 5432 -q 2>/dev/null && echo " pg_isready 127.0.0.1: OK" || echo " pg_isready 127.0.0.1: FAIL"
|
|
echo
|
|
|
|
echo "3. .env"
|
|
if [ -f "$SHOP_ROOT/.env" ]; then
|
|
ls -la "$SHOP_ROOT/.env"
|
|
grep -E '^(DATABASE_URL|HOST|PORT|NODE_ENV)=' "$SHOP_ROOT/.env" | sed 's/=.*/=***/' || true
|
|
else
|
|
echo " .env не найден"
|
|
fi
|
|
echo
|
|
|
|
echo "4. Порт 3000"
|
|
ss -tlnp | grep ':3000' || echo " порт 3000 свободен"
|
|
echo
|
|
|
|
echo "5. www-data доступ"
|
|
sudo -u www-data test -r "$SHOP_ROOT/package.json" && echo " package.json: OK" || echo " package.json: FAIL"
|
|
sudo -u www-data test -x "$SHOP_ROOT" && echo " каталог: OK" || echo " каталог: FAIL"
|
|
echo
|
|
|
|
echo "6. Тест Node (5 сек)"
|
|
set +e
|
|
timeout 8 sudo -u www-data bash -c "cd '$SHOP_ROOT' && set -a && source .env 2>/dev/null && set +a && node src/server.js" 2>&1 | head -20
|
|
set -e
|
|
echo
|
|
|
|
echo "7. journalctl shop"
|
|
journalctl -u shop -n 30 --no-pager 2>/dev/null || true
|