# Nginx, PHP-FPM, MySQL und andere Services neu starten

> Prüfe, ob Nginx, PHP-FPM, MySQL, Redis, Supervisor und andere Services auf deinem Server laufen, starte sie neu, lade, stoppe oder starte sie oder den Server.

Die Seite **Services** eines Servers zeigt die Systemdienste, die Vimonto Deploy auf ihm installiert hat, etwa Nginx, PHP-FPM, deine Datenbank und Redis, mit ihrem Live-Status. Auf derselben Seite kannst du jeden Service neu starten, neu laden, stoppen oder starten und den ganzen Server neu starten.

Nutze sie, wenn ein Service hängt, nachdem du eine Konfigurationsdatei von Hand geändert hast, oder um schnell zu prüfen, dass alles läuft. Du findest sie in der Seitenleiste des Servers unter **Services** oder über **Services neu starten** im Menü **Aktionen** der Serverkopfzeile.

![Die Seite Services eines Servers mit einer Übersichtszeile, dass alle Services laufen, darunter Nginx, PHP-FPM, MySQL, Redis und weitere Services, gruppiert unter Web, Daten und System, jeweils mit dem Status Läuft, einer Schaltfläche Neu starten und einem Menü](https://ops.vimonto.com/docs-media/de/server-services.webp?v=161e760d "Die Services eines Servers und ihr Status")

## Welche Services werden aufgeführt?

Die Liste hängt vom [Servertyp](https://ops.vimonto.com/docs/de/servers/server-types) ab: Vimonto Deploy zeigt die Services, die es für diesen Typ installiert, und dazu eine PHP-FPM-Zeile für jede [PHP-Version](https://ops.vimonto.com/docs/de/servers/php), die auf dem Server installiert ist.

Die Seite gruppiert sie unter **Web** (Nginx und PHP-FPM), **Daten** (die Datenbank, Redis, Memcached und Meilisearch) und **System** (Supervisor, Cron, Fail2ban und SSH). Jede Zeile zeigt den Namen des Services, seinen Status, eine kurze Erklärung, was er tut, und seine systemd-Unit. Eine Zeile über den Gruppen zeigt auf einen Blick, ob alles läuft, zum Beispiel **Alle 9 Dienste laufen.**, oder welche Services nicht laufen.

| Service | systemd-Unit | Angezeigt auf | Aktionen |
| --- | --- | --- | --- |
| Nginx | `nginx` | App-, Web- und Load-Balancer-Servern | Neu starten, Neu laden, Stoppen, Starten |
| PHP *x.y* FPM | `php8.4-fpm` (eine pro Version) | Servern mit PHP, für jede installierte [PHP-Version](https://ops.vimonto.com/docs/de/servers/php) | Neu starten, Neu laden, Stoppen, Starten |
| MySQL, MariaDB oder PostgreSQL | `mysql`, `mariadb` oder `postgresql` | Servern mit Datenbank | Neu starten, Stoppen, Starten |
| Redis | `redis-server` | App- und Cache-Servern | Neu starten, Stoppen, Starten |
| Memcached | `memcached` | App- und Cache-Servern | Neu starten, Stoppen, Starten |
| Meilisearch | `meilisearch` | Meilisearch-Servern | Neu starten, Stoppen, Starten |
| Supervisor | `supervisor` | App-, Web- und Worker-Servern | Neu starten, Stoppen, Starten |
| Cron | `cron` | Jedem Server | Neu starten |
| Fail2ban | `fail2ban` | Jedem Server | Neu starten |
| SSH | `ssh` | Jedem Server | Neu laden |

Die neueste PHP-Version steht oben. Die Datenbankzeile trägt die Engine und Version, mit der der Server erstellt wurde, zum Beispiel MySQL 8.4.

> [!NOTE]
> SSH kann nur neu geladen, nicht gestoppt oder neu gestartet werden: Ein Stopp würde Vimonto Deploy selbst den Zugang zum Server abschneiden. Cron und Fail2ban können nur neu gestartet werden.

## Wie wird der Status geprüft?

Wenn du die Seite öffnest, verbindet sich Vimonto Deploy per SSH mit dem Server und führt `systemctl is-active` für jeden Service in der Liste aus. Bis die Antwort da ist, zeigt jede Zeile **Wird abgerufen…**. Danach bekommt jeder Service einen dieser Status:

| Status | Bedeutung |
| --- | --- |
| **Läuft** | Der Service ist aktiv. |
| **Gestoppt** | Der Service läuft nicht (systemd meldet `inactive`). |
| **Fehlgeschlagen** | Der Service ist abgestürzt oder konnte nicht starten. |
| **Startet** | Der Service startet (`activating`). |
| **Wird gestoppt** | Der Service fährt herunter (`deactivating`). |
| **Wird neu geladen** | Der Service liest seine Konfiguration neu ein (`reloading`). |
| **Wird aktualisiert** | systemd aktualisiert die Mounts oder andere Ressourcen des Service (`refreshing`). |
| **Unbekannt** | systemd hat einen Zustand gemeldet, den Vimonto Deploy nicht kennt, oder gar keinen. |

**Startet**, **Wird gestoppt**, **Wird neu geladen** und **Wird aktualisiert** sind Übergangszustände. Sie erscheinen in der Akzentfarbe mit einem pulsierenden Punkt, nicht als Fehler: Klicke nach einem Moment auf **Status aktualisieren**, um zu sehen, wo der Service gelandet ist. **Unbekannt** erscheint grau; nur **Fehlgeschlagen** und **Gestoppt** sind rot.

Der Status wird beim Öffnen der Seite gelesen und nach jeder Aktion erneut. Klicke jederzeit auf **Status aktualisieren**, um ihn neu zu lesen. Ist der Server nicht erreichbar, erscheint stattdessen eine Fehlermeldung über der Liste.

## Einen Service neu starten, neu laden, stoppen oder starten

1. Öffne den Server und wähle **Services** in der Seitenleiste.
2. Suche den Service und klicke auf die Schaltfläche in seiner Zeile: **Neu starten** für einen laufenden Service (**Neu laden** bei SSH), **Starten** für einen, der gestoppt ist oder fehlgeschlagen ist.
3. Für die anderen Aktionen öffnest du das Menü (⋯) neben dieser Schaltfläche und wählst **Neu laden**, **Stoppen**, **Starten** oder **Neu starten**. Das Menü bietet nur an, was zum Status des Services passt: Ein laufender Service hat kein **Starten**, ein gestoppter kein **Stoppen** oder **Neu laden**. Solange der Status nicht bekannt ist, sind alle Aktionen vorhanden.

Die Aktion läuft als Hintergrundaufgabe, zum Beispiel *Nginx auf web-1 neu starten*, und eine Benachrichtigung bestätigt, dass der Service neu startet. Solange sie läuft, sind die Schaltfläche und das Menü dieses Service deaktiviert. Du kannst die Aufgabe und ihre Ausgabe in der Aktivität des Servers und auf der Seite [Aktivität](https://ops.vimonto.com/docs/de/organization/activity) verfolgen.

Nach dem Befehl wartet die Aufgabe eine Sekunde und gibt den neuen Zustand des Service aus. So siehst du in der Ausgabe, ob der Service wieder läuft.

### Neu starten oder neu laden: was davon?

- **Neu laden** bittet den Service, seine Konfiguration erneut zu lesen, ohne anzuhalten. Offene Verbindungen bleiben offen. Nutze es nach einer Konfigurationsänderung bei Nginx, PHP-FPM oder SSH.
- **Neu starten** stoppt den Service und startet ihn wieder. Nutze es, wenn ein Service hängt oder ein Neuladen nicht reicht.

Kann ein Service nicht neu laden, startet Vimonto Deploy ihn stattdessen neu.

> [!WARNING]
> Wenn du Nginx, PHP-FPM oder die Datenbank stoppst, sind die Sites auf diesem Server offline, bis du den Service wieder startest. Wenn du Supervisor stoppst, stoppen alle Queue-Worker und [Prozesse](https://ops.vimonto.com/docs/de/servers/processes) auf dem Server.

## Den ganzen Server neu starten

Klicke oben auf der Seite auf **Server neu starten** und bestätige. Der Server startet neu: Er ist ein bis zwei Minuten nicht erreichbar, danach starten Sites und Prozesse von selbst wieder. Der Neustart wird als Aufgabe mit dem Namen des Servers und dem Zusatz *neu starten* erfasst.

Ein Neustart ist nach Kernel- oder Systemupdates sinnvoll oder wenn ein Server nicht mehr richtig reagiert. Er ändert nichts auf dem Server.

## Wer darf Services verwalten?

Jedes Mitglied der Organisation sieht die Seite Services und den Status jedes Service. Zum Neustarten, Neuladen, Stoppen oder Starten eines Service und zum Neustarten des Servers brauchst du die Berechtigung, Server zu verwalten. Die haben die Rollen Owner, Administrator, Manager und Developer. Betrachter sehen nur den Status. Siehe [Mitglieder und Rollen](https://ops.vimonto.com/docs/de/organization/members-and-roles).

Die Schaltflächen erscheinen nur, solange der Server aktiv ist. Während der Einrichtung oder wenn der Server getrennt ist, kannst du keine Services ändern.

## Häufig gestellte Fragen

### Muss ich PHP-FPM nach einem Deployment neu starten?

Nein. Wenn ein Deployment ein neues Release live schaltet, lädt Vimonto Deploy die PHP-FPM-Version der Site für dich neu, damit sofort der neue Code ausgeliefert und OPcache aktualisiert wird. Siehe [Deployments](https://ops.vimonto.com/docs/de/sites/deployments). Nutze **Neu laden** hier nur, wenn du PHP-Einstellungen von Hand geändert hast.

### Ein Service zeigt Fehlgeschlagen. Was nun?

Klicke bei diesem Service auf **Neu starten** und lies die Ausgabe der Aufgabe. Schlägt er wieder fehl, schau in die Logs: Öffne das [Terminal](https://ops.vimonto.com/docs/de/servers/terminal) und führe `journalctl -u nginx -n 50` aus (mit dem Unit-Namen aus der Liste), oder prüfe die [Site-Logs](https://ops.vimonto.com/docs/de/sites/logs) auf Fehler von Nginx und PHP-FPM.

### Warum wird ein Service, den ich selbst installiert habe, nicht aufgeführt?

Die Seite zeigt nur die Services, die Vimonto Deploy installiert und verwaltet. Verwalte andere Services mit `systemctl` im [Terminal](https://ops.vimonto.com/docs/de/servers/terminal) oder führe deine eigenen Programme als [Prozesse](https://ops.vimonto.com/docs/de/servers/processes) aus.

### Warum stehen neben den Services keine Schaltflächen?

Die Schaltflächen erscheinen nur, wenn deine Rolle Server verwalten darf und der Server aktiv ist. Betrachter sehen nur den Status, und das gilt für alle, solange ein Server provisioniert wird oder nicht verbunden ist.
