Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Einen Webserver wählen

Eine Entscheidungshilfe für Hoster - welchen Webserver oder welche Engine Sie für welchen Tarif anbieten, mit den Fakten, die es entscheiden (PHP-Version, dauerhaft laufende Prozesse, Trennung, HTTPS, Caching), und…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/servers/choosing-a-web-server.md

On this page

This page is a translation. Read the English original

Einen Webserver wählen

Diese Seite ist für Produktmanager und Systemadministratoren bei Hosting-Unternehmen, die entscheiden müssen, was die Exponential-Websites eines Tarifs ausliefert. Sie beantwortet: welche Server und Engines möglich sind, welche Fragen zwischen ihnen entscheiden, was jede Wahl für den Betrieb bedeutet und wie Sie die Entscheidung festhalten. Die Fakten stammen aus Kapitel 8: Die Website ausliefern, Unterstützung von Betriebssystemen und der README.md des Repositorys.

Warnung .htaccess bremst jede Anfrage. Sind .htaccess-Dateien erlaubt (AllowOverride alles außer None), geschweige denn genutzt, sucht Apache sie bei jeder Anfrage in jedem Verzeichnis des Pfads und liest und wertet sie aus, und die Ladezeiten der Seiten steigen drastisch (gemessen). Die einzige wirkliche Abhilfe ist, die Funktion für den virtuellen Host abzuschalten: AllowOverride None im virtuellen HTTPS-Host, und die Regeln in der Konfiguration des virtuellen Hosts selbst als mod_rewrite-Regeln. Das ist in Geschwindigkeitstests im Produktivbetrieb weit schneller und die Zeit für die Optimierung einer Produktivkonfiguration unbedingt wert. Stellen Sie sofort um: Übernehmen Sie die Regeln des Beispiels für einen virtuellen HTTPS-Host in Ihren virtuellen Host (mit dem statischen Cache auch staticcache_offload.conf), setzen Sie AllowOverride None, führen Sie apachectl configtest aus, laden Sie Apache neu und testen Sie die Website. Dieselben Regeln für andere Server: nginx, LiteSpeed, Caddy, IIS, Velocity (eingebaut); wohin Regeln für virtuelle Hosts in einem Control Panel gehören: Plesk, cPanel, DirectAdmin, ISPConfig. Unter LiteSpeed oder OpenLiteSpeed kann zusätzlich der Seiten-Cache des Servers anonyme Besucher und Crawler ohne PHP bedienen: Seiten-Caching mit LiteSpeed und OpenLiteSpeed.

Inhalt

  1. Die Wahl in einer Tabelle
  2. Fünf Fragen, die es entscheiden
  3. Nach Hosting-Modell
  4. Trennung zwischen Kunden
  5. Was jede Wahl Sie im Betrieb kostet
  6. Server mischen
  7. Ein Entscheidungsprotokoll zum Kopieren
  8. Checkliste

Die Wahl in einer Tabelle

Aus Kapitel 8, Die Wahl in einer Tabelle:

Exponential Velocity (qbix)FrankenPHP (über Velocity)Apache + PHP-FPMnginx + PHP-FPM
Rollefür jede Phase empfohlenproduktionsreife Alternativeklassischklassisch
PHP8.0 oder neuer (ab Velocity 0.0.4.54)das in die Binärdatei eingebaute PHP8.0 oder neuer8.0 oder neuer
Eigener Webserver nötigneinnein (Caddy ist eingebaut)jaja
Eigenes Werkzeug für HTTPS oder Zertifikate nötignein: eigene Zertifikate, selbstsignierter Rückfall, ACMEnein: Ihr Zertifikat oder ein selbstsigniertesja (mod_ssl plus certbot oder ein Panel)ja
Anwendung zwischen Anfragen im Speicher gehaltenja (persistente Worker)nein (sauberer Zustand pro Anfrage)neinnein
Antwort-Cache vor PHPjanoch nichtnein (nur die eigenen Caches des Kernels)nein
Rewrite-Regelneingebauterzeugtes Caddyfile.htaccess_root (exp:setup:htaccess --apply)von Ihnen geschrieben
Passt zu Shared Hostingmeist nichtmeist nichtjaselten

Andere Server, die eine URL auf index.php umschreiben können, funktionieren ebenfalls. Das README nennt LiteSpeed und OpenLiteSpeed, Caddy, Microsoft IIS, lighttpd, H2O und Traefik (Letzteres meist vor einem anderen Server) und sagt deutlich, dass sie alle funktionieren und Exponential keinen bestimmten verlangt. Unterstützung von Betriebssystemen ordnet LiteSpeed, Caddy mit PHP-FPM, IIS und lighttpd in Stufe 3 ein: sollte funktionieren.

Hinweis Der eingebaute Server von PHP (exp:velocity start --engine=php) ist nur deshalb die mitgelieferte Standard-Engine, weil er nichts Installiertes braucht. Er ist für die Entwicklung, hat kein TLS und darf nie Besuchern gegenüberstehen.

Fünf Fragen, die es entscheiden

FrageWenn die Antwort ... istDann
Darf die Website eines Kunden in diesem Tarif einen langlebigen Prozess betreiben?nein (typisches Shared Hosting)Apache oder LiteSpeed mit .htaccess. Shared Hosting erlaubt das meist nicht (README.md)
Hat die Maschine PHP 8.0?ja (das Standard-PHP von Red Hat Enterprise Linux 9 und seinen Nachbauten)jede Engine; Velocity läuft ab seinem Release 0.0.4.54 auf 8.0, mit dem el9-RPM oder mit Composer (Kapitel 2)
Müssen Kunden auf einer Maschine durch das Betriebssystem voneinander getrennt sein?jaein Velocity-Server pro Website, jeder als eigener Benutzer, oder ein PHP-FPM-Pool pro Website
Betreiben Sie bereits ein abgestimmtes Apache oder nginx, das Sie behalten wollen?jabehalten Sie es; Velocity kann dahinter oder daneben stehen
Wollen Sie die schnellste Antwort für wiederholte Seiten, ohne einen Cache-Server hinzuzufügen?jaVelocity mit seinem Antwort-Cache

Das sind die Bedingungen, die Kapitel 8 für einen klassischen Server nennt: wenn Ihr Hosting keine langlebigen Prozesse erlaubt, wenn Sie bereits ein abgestimmtes Apache oder nginx betreiben, das Sie behalten wollen, wenn die Maschine nur PHP 8.0 hat oder wenn mehrere Kunden auf einer Maschine durch das Betriebssystem voneinander getrennt sein müssen.

Nach Hosting-Modell

Hosting-ModellÜbliche WahlWarum
Shared Hosting mit einem Control PanelApache (oder LiteSpeed) mit PHP-FPM und .htaccesskeine langlebigen Prozesse von Kunden; die Regeln werden als .htaccess_root ausgeliefert
VPS oder dedizierter Server pro KundeVelocityeine Website pro Maschine, root für die Ports 80 und 443 verfügbar
Mehrere Kunden auf einem VPS oder dedizierten ServerVelocity pro Website (eigener Benutzer, eigene Ports, ein Proxy davor) oder PHP-FPM-Pool pro WebsiteTrennung durch das Betriebssystem
ContainerVelocity oder FrankenPHP im Containerein Prozessbaum pro Website; für Velocity gibt es Images (Pakete und Binärdateien von Velocity)
Windows-HostingIIS oder Apache mit FastCGI-PHPpcntl und posix gibt es unter Windows nicht (Unterstützung von Betriebssystemen)

Die Modelle selbst werden auf Ein Hosting-Modell wählen verglichen.

Trennung zwischen Kunden

Das README ist ausdrücklich: Ein einziger Serverprozess, der mehrere Websites ausliefert, ist eine Bequemlichkeit beim Routing, keine Sicherheitsgrenze; der Prozess, der eine Website ausliefert, kann jede Datei lesen, die die anderen halten. Für einen Tarif, der mehrere Kunden auf eine Maschine legt:

Die Seite der Sicherheit steht auf Trennung von Mandanten.

Was jede Wahl Sie im Betrieb kostet

VelocityFrankenPHPApache oder nginx mit PHP-FPM
Installationcomposer require se7enxweb/exponential-velocity, dann exp:velocity startexp:velocity install lädt die Binärdatei herunter und prüft siePakete der Distribution oder das Panel
Nach einer Änderung einer PHP-Klasse oder INIexp:velocity deploy (Neustart inbegriffen)exp:velocity deploy (derselbe Befehl, --engine=frankenphp)das PHP-FPM neu laden, das die Website ausliefert, oder exp:velocity deploy --no-velocity
ZertifikateVelocity selbst, einschließlich ACMEIhre Dateien oder selbstsigniert; von Ihnen erneuertmod_ssl oder nginx plus certbot oder das Panel
Dienst beim Systemstarteine systemd-Unit, die Sie schreiben (Kapitel 8 gibt eine abgeleitete), oder die eigenen Units der Enginedasselbedie Units der Distribution
Was zu überwachen istexp:velocity status --json, /Q/health, die Logs in var/vc/qbix/status, die JSON-Logs von Caddy in var/vc/frankenphp/log/die Logs des Servers und von PHP-FPM

Warnung Unter Velocity halten die Worker Klassen, INI-Werte und kompilierte Templates im Speicher. Eine geänderte Klasse oder Einstellung erreicht sie erst nach einem Neustart. Schulen Sie die Support-Mitarbeitenden auf exp:velocity deploy, bevor Sie Tarife mit Velocity verkaufen (Kapitel 8, Eine Änderung ausrollen).

Server mischen

Die Möglichkeiten schließen sich nicht aus. Eine häufige Form ist, dass Velocity die Website ausliefert, während Apache oder nginx während einer Migration auf denselben Dateien bestehen bleibt; beide teilen dann var/, die Caches und die Sitzungen und müssen deshalb als derselbe Benutzer schreiben. exp:velocity deploy bringt beide in einem Lauf auf den neuesten Stand, weil es auch das PHP-FPM neu lädt, das die Website ausliefert. Details: Velocity neben Apache oder nginx.

Ein Entscheidungsprotokoll zum Kopieren

Plan name:                      <plan>
Server or engine:               Velocity (qbix) | FrankenPHP | Apache + PHP-FPM | nginx + PHP-FPM | other: ...
PHP version and source:         <version>, <distribution package | panel | binary>
Long-running processes allowed: yes | no
Isolation between customers:    one machine per customer | one Velocity per site | one FPM pool per site
TLS terminated by:              Velocity | FrankenPHP | Apache/nginx | load balancer or CDN
Response caching:               Velocity response cache | kernel caches only | proxy in front
Who restarts after a deploy:    <role>
Tested on staging on:           <date>, by <role>

Checkliste

  • To do: Die Antwort des Tarifs auf die Frage, ob ein langlebiger Prozess laufen darf, ist aufgeschrieben.
  • To do: Die PHP-Version auf der Maschine ist 8.0 oder neuer, auch wo Velocity angeboten wird.
  • To do: Trennung zwischen Kunden entschieden: pro Maschine, pro Velocity-Instanz oder pro PHP-FPM-Pool.
  • To do: Die vier Prüfungen des Routings aus Webserver und Engines bestehen.
  • To do: Der Support weiß, wie eine PHP-Änderung den Server erreicht (exp:velocity deploy oder das Neuladen von FPM).
  • To do: Ein Server der Stufe 3 wurde auf Staging getestet, bevor er verkauft wurde.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x