Zum Inhalt springen
Deploy
Dokumentation durchsuchen

Servertypen: App, Web, Worker, Datenbank, Cache und mehr

Servertypen im Vergleich: App, Web, Worker, Datenbank, Cache, Meilisearch und Load Balancer – was sie installieren und welche Seiten sie haben.

Als Markdown ansehen Aktualisiert am 7. Oktober 2026

Ein Servertyp ist die Rolle, die du einem Server beim Erstellen gibst. Der Typ bestimmt, was Vimonto Deploy bei der Einrichtung installiert, welche Ports die Firewall öffnet und welche Seiten der Server in Vimonto Deploy hat. Du weißt nicht, welchen du brauchst? Wähle einen App-Server: Er führt alles auf einer Maschine aus und passt für die meisten Anwendungen.

Mit den anderen Typen verteilst du eine Anwendung auf mehrere Server, wenn sie wächst: Webserver hinter einem Load Balancer, separate Worker für Queues und eigene Datenbank-, Cache- und Suchserver, verbunden über ein privates Netzwerk.

Die Übersichtsseite eines Servers mit der Seitenleiste der Seiten, die sein Servertyp hat
Welche Seiten in der Seitenleiste eines Servers stehen, hängt von seinem Typ ab

Welchen Servertyp sollte ich wählen?

Typ Wofür Installiert
App-Server Alles auf einem Server. Passt für die meisten Anwendungen. Nginx, PHP, eine Datenbank (optional), Redis, Memcached, Node.js, Supervisor
Webserver Deine Anwendung ausliefern, mit Datenbank und Cache auf anderen Servern. Nginx, PHP, Node.js, Supervisor
Worker-Server Queue-Worker und andere lang laufende PHP-Prozesse. Nicht über HTTP erreichbar. PHP, Supervisor
Datenbankserver Eine Datenbank für deine App-, Web- und Worker-Server. MySQL, MariaDB oder PostgreSQL
Cache-Server Redis und Memcached für deine App-, Web- und Worker-Server. Redis, Memcached
Meilisearch-Server Eine schnelle Suchmaschine für deine Anwendung, erreichbar über das private Netzwerk. Meilisearch
Load Balancer Den Datenverkehr einer Domain auf deine App- und Webserver verteilen. Nginx

Jeder Typ bekommt außerdem dieselbe Basis: Ubuntu-Updates, den Serverbenutzer, SSH-Härtung, die Firewall ufw, fail2ban, automatische Sicherheitsupdates, Swap, Standard-Jobs im Scheduler und den Monitoring-Agenten.

Welche Seiten hat jeder Typ?

Ein Server zeigt nur die Seiten, die zu dem passen, was auf ihm installiert ist.

Seite App Web Worker Datenbank Cache Meilisearch Load Balancer
Übersicht ✓ ✓ ✓ ✓ ✓ ✓ ✓
Sites ✓ ✓ – – – – ✓
Datenbanken ✓¹ – – ✓ – – –
Backups ✓¹ – – ✓ – – –
PHP ✓ ✓ ✓ – – – –
Prozesse ✓ ✓ ✓ – – – –
Scheduler ✓ ✓ ✓ ✓ ✓ ✓ ✓
Monitoring ✓ ✓ ✓ ✓ ✓ ✓ ✓
Terminal ✓ ✓ ✓ ✓ ✓ ✓ ✓
Netzwerk ✓ ✓ ✓ ✓ ✓ ✓ ✓
SSH-Schlüssel ✓ ✓ ✓ ✓ ✓ ✓ ✓
Services ✓ ✓ ✓ ✓ ✓ ✓ ✓
Einstellungen ✓ ✓ ✓ ✓ ✓ ✓ ✓

¹ Nur wenn der App-Server mit einer Datenbank erstellt wurde, nicht mit Keine.

App-Server

Der App-Server hat alles: Nginx, PHP (die Version, die du wählst, mit Composer), Node.js und npm, eine Datenbank, Redis, Memcached und Supervisor für Queue-Worker. Die Ports 80 und 443 sind für deine Sites offen. Datenbank, Redis und Memcached lauschen nur auf dem Server selbst (localhost) und sind daher von außen nicht erreichbar.

Du kannst einen App-Server ohne Datenbank erstellen, indem du unter Datenbank die Option Keine wählst, zum Beispiel wenn du einen separaten Datenbankserver nutzt. Er hat dann keine Seiten Datenbanken und Backups.

Webserver

Ein Webserver führt deine Sites wie ein App-Server aus, mit Nginx, PHP, Node.js und Supervisor, aber ohne Datenbank oder Cache. Verbinde ihn über ein privates Netzwerk mit einem Datenbankserver und einem Cache-Server. Setze mehrere Webserver hinter einen Load Balancer, um mehr Traffic zu bewältigen.

Worker-Server

Ein Worker-Server hat PHP und Supervisor für Queue-Worker und andere Prozesse, aber kein Nginx. Die Firewall erlaubt nur SSH, daher ist er über HTTP nicht erreichbar. Nutze ihn, um deine Webserver von aufwendiger Queue-Arbeit zu entlasten.

Datenbankserver

Ein Datenbankserver führt nur MySQL (8.4 LTS oder 8.0), MariaDB (11.4 LTS oder 10.11 LTS) oder PostgreSQL (18, 17 oder 16) aus; für diesen Typ ist eine Datenbank Pflicht. Anders als auf einem App-Server lauscht die Datenbank auf allen Adressen, damit sich deine anderen Server mit ihr verbinden können. Liegt der Server in einem privaten Netzwerk, erlaubt die Provisionierung Port 3306 (MySQL und MariaDB) oder 5432 (PostgreSQL) nur aus diesem Netzwerk. Ohne privates Netzwerk blockiert die Firewall jeden eingehenden Datenverkehr zur Datenbank, bis du auf der Seite Netzwerk des Servers eine Regel für die Adressen deiner anderen Server hinzufügst.

Die Einrichtung legt einen Datenbankbenutzer mit dem Namen des Serverbenutzers (standardmäßig vimonto) an, mit vollen Rechten und dem Datenbankpasswort, das einmal angezeigt wird, sowie eine Datenbank mit demselben Namen. Verwalte Datenbanken und Benutzer auf der Seite Datenbanken und plane Backups in deinen eigenen Speicher.

Cache-Server

Ein Cache-Server führt nur Redis und Memcached aus. Sie lauschen auf allen Adressen, damit deine anderen Server sie nutzen können. Redis läuft hier ohne Passwort, also hält nur die Firewall das Internet draußen. Liegt der Server in einem privaten Netzwerk, erlaubt die Provisionierung Port 6379 (Redis) und 11211 (Memcached) nur aus diesem Netzwerk. Ohne privates Netzwerk erreicht sie nichts, bis du auf der Seite Netzwerk eine Regel für die Adressen deiner anderen Server hinzufügst.

Meilisearch-Server

Ein Meilisearch-Server führt die Suchmaschine Meilisearch als Systemdienst auf Port 7700 im Produktionsmodus aus. Ihr Master Key wird beim Erstellen des Servers erzeugt und einmal zusammen mit dem sudo-Passwort als Meilisearch Master Key angezeigt. Liegt der Server in einem privaten Netzwerk, erlaubt die Provisionierung Port 7700 nur aus diesem Netzwerk; sonst fügst du auf der Seite Netzwerk eine Regel hinzu. Trag die private Adresse des Servers und den Key in deiner Anwendung ein (für Laravel Scout: MEILISEARCH_HOST und MEILISEARCH_KEY).

Server in einem privaten Netzwerk

Datenbank-, Cache- und Meilisearch-Server, die du in einem privaten Netzwerk erstellst, bekommen sofort Firewall-Regeln für ihre Dienste. Deine App-, Web- und Worker-Server im selben Netzwerk können sich dann ohne weitere Einrichtung verbinden:

Typ Aus dem privaten Netzwerk erlaubte Ports
Datenbankserver 3306 (MySQL, MariaDB) oder 5432 (PostgreSQL)
Cache-Server 6379 (Redis), 11211 (Memcached)
Meilisearch-Server 7700

Die Regeln erlauben den Adressbereich des Netzwerks, zum Beispiel 10.0.0.0/16. Kennt Vimonto Deploy den Bereich nicht, nimmt es das /16 um die private IP-Adresse des Servers. Du findest die Regeln auf der Seite Netzwerk des Servers, markiert als Standard; du kannst sie entfernen oder eigene hinzufügen. Das Internet bleibt draußen: Die Firewall blockiert jeden anderen eingehenden Datenverkehr.

Server ohne privates Netzwerk, auch ein eigener VPS, bekommen diese Regeln nicht: Füge dann selbst eine Regel für jeden Server hinzu, der Zugriff braucht.

Load Balancer

Ein Load Balancer führt nur Nginx aus, mit offenen Ports 80 und 443, und verteilt den Datenverkehr einer Domain auf deine App- und Webserver. Er hat kein PHP. Die einzige Art von Site, die du darauf anlegen kannst, ist eine Load Balancer-Site (unter Neue Site), und diese Art von Site kann nur auf einem Load-Balancer-Server liegen.

Auf der Seite Lastverteilung der Site wählst du:

  • die Methode: Round Robin (jeder Server der Reihe nach, nach Gewicht), Wenigste Verbindungen (der Server mit den wenigsten offenen Verbindungen) oder IP-Hash (jeder Besucher bleibt anhand seiner IP-Adresse bei einem Server);
  • die Server, an die er den Verkehr weitergibt: Mit Server hinzufügen wählst du einen aktiven App- oder Webserver deiner Organisation, mit einem Port, einem Gewicht (höher bekommt mehr Verkehr) und auf Wunsch als Reserveserver, der nur Verkehr bekommt, wenn die anderen Server ausfallen (nicht mit IP-Hash, das Nginx nicht mit Reserveservern kombiniert). Mit Bearbeiten änderst du Port, Gewicht und Reserve-Einstellung später. Der Verkehr läuft über das private Netzwerk, wenn beide Server im selben Netzwerk sind.

Jeder App-Server braucht eine Site für dieselbe Domain. Der Load Balancer gibt die IP-Adresse des Besuchers und die Information, ob er über HTTPS kam, an die App-Server weiter, und die Sites dort vertrauen diesen Angaben nur von diesem Load Balancer. Die lastverteilte Site braucht eine eigene Domain, bevor du App-Server hinzufügst, weil diese nicht für ihre on-deploy.link-Adresse antworten können. Solange noch kein App-Server hinzugefügt ist, bekommen Besucher einen 503. Wie du alles einrichtest, steht unter Lastverteilung.

Häufig gestellte Fragen

Sollte ich mit einem App-Server oder mit separaten Servern anfangen?

Fang mit einem App-Server an. Das ist das einfachste und günstigste Setup und bewältigt viel Traffic. Lagere einen Datenbankserver, Cache-Server oder Worker-Server aus, wenn ein Server nicht mehr reicht oder wenn du Webserver unabhängig skalieren willst.

Wie kommunizieren separate Server miteinander?

Lege sie beim Erstellen in dasselbe private Netzwerk. Datenbank-, Cache- und Meilisearch-Server erlauben ihre Ports dann schon aus diesem Netzwerk (siehe Server in einem privaten Netzwerk); für alles andere erlaubst du den Port aus dem Adressbereich des Netzwerks auf der Seite Netzwerk des empfangenden Servers. Verwende in den Einstellungen deiner Anwendung die private IP-Adresse, die in der Übersicht jedes Servers steht.

Kann ich einem Webserver später eine Datenbank hinzufügen?

Die Einrichtung installiert beim Erstellen des Servers, was der Typ braucht. Wähle einen App-Server, wenn du eine Datenbank auf derselben Maschine willst, oder erstelle einen Datenbankserver und verbinde dich mit ihm.