214 lines
3.3 KiB
Markdown
214 lines
3.3 KiB
Markdown
# Services überprüfen und verwalten
|
|
|
|
## Backend-Service Status prüfen
|
|
|
|
Das Deploy-Script verwendet **PM2** als Standard. Hier die Befehle:
|
|
|
|
### Mit PM2 (Standard)
|
|
|
|
```bash
|
|
# Status anzeigen
|
|
pm2 status
|
|
|
|
# Detaillierte Info
|
|
pm2 info timeclock-backend
|
|
|
|
# Ist der Service laufend?
|
|
pm2 list | grep timeclock-backend
|
|
|
|
# Logs ansehen
|
|
pm2 logs timeclock-backend
|
|
|
|
# Letzten 50 Zeilen
|
|
pm2 logs timeclock-backend --lines 50
|
|
```
|
|
|
|
### Backend manuell starten (falls nicht laufend)
|
|
|
|
```bash
|
|
cd /var/www/timeclock/backend
|
|
pm2 start src/index.js --name timeclock-backend --env production
|
|
pm2 save
|
|
```
|
|
|
|
### Mit systemd (falls PM2 nicht verwendet)
|
|
|
|
```bash
|
|
# Status prüfen
|
|
sudo systemctl status timeclock
|
|
|
|
# Ist der Service aktiv?
|
|
systemctl is-active timeclock
|
|
|
|
# Logs ansehen
|
|
sudo journalctl -u timeclock -f
|
|
```
|
|
|
|
---
|
|
|
|
## Alle Services überprüfen
|
|
|
|
### Kompletter Status-Check
|
|
|
|
```bash
|
|
# Backend (PM2)
|
|
echo "=== Backend (PM2) ==="
|
|
pm2 status
|
|
|
|
# Apache2
|
|
echo ""
|
|
echo "=== Apache2 ==="
|
|
sudo systemctl status apache2 --no-pager | head -n 15
|
|
|
|
# Backend-Health-Check
|
|
echo ""
|
|
echo "=== Backend Health-Check ==="
|
|
curl -s http://localhost:3010/api/health | jq || curl http://localhost:3010/api/health
|
|
|
|
# Frontend erreichbar?
|
|
echo ""
|
|
echo "=== Frontend Check ==="
|
|
curl -I https://stechuhr3.tsschulz.de 2>/dev/null | head -n 5
|
|
```
|
|
|
|
### Oder mit dem Deploy-Script
|
|
|
|
```bash
|
|
cd /var/www/timeclock
|
|
./deploy.sh status
|
|
```
|
|
|
|
---
|
|
|
|
## Backend neu starten
|
|
|
|
### Mit PM2
|
|
|
|
```bash
|
|
# Neustart
|
|
pm2 restart timeclock-backend
|
|
|
|
# Stoppen
|
|
pm2 stop timeclock-backend
|
|
|
|
# Starten
|
|
pm2 start timeclock-backend
|
|
|
|
# Löschen und neu starten
|
|
pm2 delete timeclock-backend
|
|
cd /var/www/timeclock/backend
|
|
pm2 start src/index.js --name timeclock-backend --env production
|
|
pm2 save
|
|
```
|
|
|
|
### Mit systemd
|
|
|
|
```bash
|
|
sudo systemctl restart timeclock
|
|
sudo systemctl stop timeclock
|
|
sudo systemctl start timeclock
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Backend läuft nicht
|
|
|
|
1. **Prüfe Logs:**
|
|
```bash
|
|
pm2 logs timeclock-backend --err
|
|
```
|
|
|
|
2. **Prüfe .env Datei:**
|
|
```bash
|
|
cat /var/www/timeclock/backend/.env
|
|
```
|
|
|
|
3. **Prüfe Port-Belegung:**
|
|
```bash
|
|
sudo netstat -tulpn | grep 3010
|
|
# oder
|
|
sudo lsof -i :3010
|
|
```
|
|
|
|
4. **Prüfe Datenbank-Verbindung:**
|
|
```bash
|
|
mysql -h tsschulz.de -u stechuhr2 -p stechuhr2 -e "SHOW TABLES;"
|
|
```
|
|
|
|
5. **Manuell starten (Debug):**
|
|
```bash
|
|
cd /var/www/timeclock/backend
|
|
node src/index.js
|
|
# Siehst du Fehler?
|
|
```
|
|
|
|
### Backend startet, aber API antwortet nicht
|
|
|
|
1. **Health-Check direkt:**
|
|
```bash
|
|
curl http://localhost:3010/api/health
|
|
```
|
|
|
|
2. **Apache Proxy prüfen:**
|
|
```bash
|
|
# Ist Proxy-Modul aktiv?
|
|
apache2ctl -M | grep proxy
|
|
|
|
# Apache Error-Log
|
|
sudo tail -f /var/log/apache2/stechuhr3-error.log
|
|
```
|
|
|
|
3. **Firewall prüfen:**
|
|
```bash
|
|
sudo ufw status
|
|
```
|
|
|
|
---
|
|
|
|
## Monitoring einrichten
|
|
|
|
### PM2 Monitoring
|
|
|
|
```bash
|
|
# Real-time Monitoring
|
|
pm2 monit
|
|
|
|
# Web-Dashboard (PM2 Plus)
|
|
pm2 plus
|
|
```
|
|
|
|
### Automatischer Neustart bei Absturz
|
|
|
|
PM2 startet automatisch neu. Konfiguration:
|
|
|
|
```bash
|
|
pm2 startup systemd
|
|
# Führe den angezeigten Befehl aus
|
|
pm2 save
|
|
```
|
|
|
|
### Health-Check Cronjob
|
|
|
|
Siehe `scripts/health-check.sh` für automatisches Monitoring!
|
|
|
|
---
|
|
|
|
## Schnell-Befehle
|
|
|
|
```bash
|
|
# Alles prüfen
|
|
./deploy.sh status
|
|
|
|
# Logs live ansehen
|
|
./deploy.sh logs
|
|
|
|
# Backend neu starten
|
|
pm2 restart timeclock-backend
|
|
|
|
# Apache neu starten
|
|
sudo systemctl restart apache2
|
|
```
|
|
|