{"id":21778,"date":"2026-10-02T08:28:00","date_gmt":"2026-10-02T06:28:00","guid":{"rendered":"https:\/\/webhosting.de\/?p=21778"},"modified":"2026-10-02T06:02:46","modified_gmt":"2026-10-02T04:02:46","slug":"nginx-unit-como-alternativa-ao-php-fpm","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pt\/nginx-unit-alternative-zu-php-fpm\/","title":{"rendered":"NGINX Unit como alternativa ao PHP-FPM? Arquitetura, riscos e casos de utiliza\u00e7\u00e3o"},"content":{"rendered":"\n<div class=\"wh-article\" data-wh-layout=\"2.1.2\" style=\"width:100%;max-width:820px;margin:0 auto;color:#263b4b;font-family:inherit;font-size:18px;line-height:1.8;text-align:start;overflow-wrap:break-word;box-sizing:border-box\"><p class=\"wh-lead\" style=\"font-size:20px;line-height:1.7;color:#233746;margin:0 0 1.1em\">NGINX Unit war technisch mehr als PHP-FPM: Der Application Server konnte HTTP, Routing, statische Dateien und PHP-Ausf\u00fchrung verbinden. F\u00fcr neue PHP-Hosting-Plattformen ist Unit dennoch keine allgemeine Alternative, denn das Projekt ist seit Oktober 2025 archiviert und wird nicht mehr gepflegt. <strong style=\"font-weight:700;color:inherit\">NGINX mit PHP-FPM<\/strong> bleibt deshalb f\u00fcr neue Systeme die besser nachvollziehbare Standardwahl. Unit ist vor allem ein Thema f\u00fcr dokumentierte Bestandsinstallationen, Risikoanalysen und geplante Migrationen. <\/p>\n<nav class=\"wh-toc\" aria-label=\"Inhalt dieses Artikels\" style=\"display:block;margin:28px 0 38px;padding:22px;border:1px solid #d9e4e8;border-radius:14px;background:#f4f8f8\"><p class=\"wh-toc-title\" style=\"font-size:13px;font-weight:700;letter-spacing:.08em;color:#49656b;margin:0 0 14px\">Direkt zum Abschnitt<\/p><div class=\"wh-toc-grid\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px\"><div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#projektstatus-und-kurzurteil\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Archivierter Status und klares Kurzurteil<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#architektur-und-php-ausfuehrung\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">NGINX, PHP-FPM und Unit unterscheiden<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#module-versionen-und-konfiguration\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">PHP-Module, Versionen und Konfigurationsgrenzen<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#php-routing-mit-unit\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">PHP-Routing und Front Controller konfigurieren<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#prozessmodelle-und-ram-budget\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Prozessmodelle und RAM-Budget vergleichen<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#vergleich-der-betriebsmodelle\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Betriebsmodelle f\u00fcr PHP-Hosting bewerten<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#bestandsbetrieb-und-absicherung\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Unit im Bestand sicher betreiben<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#timeouts-logs-und-fehlersuche\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Timeouts, Logs und h\u00e4ngende Prozesse<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#entscheidung-und-migrationspfad\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">Entscheidung f\u00fcr neue und alte Systeme<\/a><\/div>\n<\/div><\/nav><section class=\"wh-section\" aria-labelledby=\"projektstatus-und-kurzurteil\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"projektstatus-und-kurzurteil\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Archivierter Status und klares Kurzurteil<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Stand 30. September 2026 lautet das klare Urteil: <strong style=\"font-weight:700;color:inherit\">NGINX Unit<\/strong> konnte PHP-Anwendungen direkt ausf\u00fchren und dabei HTTP-Verbindungen annehmen, TLS terminieren, statische Dateien ausliefern sowie Anfragen routen. Damit ging der Funktionsumfang deutlich \u00fcber PHP-FPM hinaus. F\u00fcr neue produktive PHP-Hosting-Plattformen ist Unit dennoch keine allgemeine Empfehlung, weil das offizielle Projekt seit Oktober 2025 archiviert und nicht mehr gepflegt wird. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Das bedeutet nicht, dass eine vorhandene Unit-Installation sofort funktionsunf\u00e4hig w\u00e4re. Sie kann weiterhin eine Anwendung bedienen, sofern ihre Abh\u00e4ngigkeiten, Sicherheitsvorkehrungen und ein Migrationsweg dokumentiert sind. Eine Neuinvestition muss aber anders bewertet werden: Ohne fortlaufende Projektpflege steigen Risiken bei Sicherheitsl\u00fccken, Paketverf\u00fcgbarkeit, neuen Betriebssystemversionen und k\u00fcnftigen PHP-Kompatibilit\u00e4ten. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Bei Versionsangaben ist eine saubere Trennung wichtig. Die weiterhin verf\u00fcgbare Installationsdokumentation nennt vielfach Unit 1.34.2, w\u00e4hrend der stabile Release-Tag 1.35.0 ver\u00f6ffentlicht wurde. Der Release belegt unter anderem PHP-8.5-Kompatibilit\u00e4t; daraus folgt jedoch keine fortgesetzte Wartung. Der Entwicklungszweig <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">master<\/code> ist wegen des archivierten Status keine ma\u00dfgebliche Produktversion f\u00fcr Betriebsentscheidungen.  <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"architektur-und-php-ausfuehrung\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"architektur-und-php-ausfuehrung\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">NGINX, PHP-FPM und Unit unterscheiden<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">F\u00fcr eine belastbare Entscheidung m\u00fcssen die Komponenten getrennt betrachtet werden. <strong style=\"font-weight:700;color:inherit\">NGINX<\/strong> ist Webserver und Reverse Proxy: Er nimmt HTTP-Anfragen entgegen, kann statische Inhalte ausliefern und leitet dynamische Anfragen weiter. PHP-FPM ist dagegen ein FastCGI Process Manager. Er stellt PHP-Worker bereit, verarbeitet aber nicht selbst die typische Webserver-Aufgabe der HTTP-Annahme und des Routings. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Im klassischen Aufbau erreicht eine Anfrage zun\u00e4chst NGINX. Handelt es sich um eine statische Datei, kann NGINX sie unmittelbar ausliefern. F\u00fcr ein PHP-Skript \u00fcbergibt NGINX die erforderlichen FastCGI-Parameter an einen PHP-FPM-Pool; ein freier Worker f\u00fchrt den Code aus und liefert die Antwort \u00fcber NGINX zur\u00fcck. Poolgr\u00f6\u00dfe und Prozessmodus werden bei PHP-FPM in Konfigurationsdateien im php.ini-Format gesteuert. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Unit war demgegen\u00fcber ein <strong style=\"font-weight:700;color:inherit\">Application Server<\/strong> mit Listenern, Routen, statischer Auslieferung und Sprachlaufzeiten in einem JSON-Konfigurationsmodell. Eine PHP-Anwendung wird dort als Anwendungstyp eingebunden; Unit kann somit den Request-Weg innerhalb derselben Plattform von der Annahme bis zur PHP-Ausf\u00fchrung abbilden. Das reduziert nicht automatisch das Betriebsrisiko, ver\u00e4ndert aber die Zust\u00e4ndigkeitsgrenzen. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Unit ist deshalb nicht \u201eNGINX mit eingebettetem PHP-FPM\u201c. Beim Bau des PHP-Moduls entsteht ein eigenes SAPI-Modul, das mit der PHP-Embed-Bibliothek verkn\u00fcpft ist. Bei Analyse und Migration m\u00fcssen Teams folglich nicht nur FastCGI-Einstellungen \u00fcbertragen, sondern Routing, Anwendungsdefinitionen, Modulbindung und Diagnosewege neu zuordnen. Fehler lassen sich nicht pauschal einem vorgeschalteten Webserver oder einem getrennten FPM-Pool zuschreiben. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"module-versionen-und-konfiguration\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"module-versionen-und-konfiguration\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">PHP-Module, Versionen und Konfigurationsgrenzen<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">F\u00fcr PHP ben\u00f6tigt eine Unit-Installation neben dem Kern ein passendes Sprachmodul. Dieses Modul ist an die verwendete PHP-Version und die Unit-Installation gebunden. Waren keine geeigneten Pakete f\u00fcr Betriebssystem und PHP-Version verf\u00fcgbar, beschrieb die Dokumentation den Eigenbau mit einer PHP-Installation, die die Embed-SAPI bereitstellt. Das erh\u00f6ht den Aufwand f\u00fcr Updates, reproduzierbare Builds und die Fehleranalyse erheblich.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Auch die Konfiguration folgt unterschiedlichen Modellen. Unit b\u00fcndelt Listener, Routen und Anwendungen als JSON-Daten \u00fcber ihre Konfigurationsschnittstelle. PHP-FPM verwaltet Pools dagegen in Dateien im php.ini-Format. Diese Differenz ist mehr als Syntax: In einem FPM-Stack liegen Webserver-Regeln und PHP-Pooldefinitionen getrennt, w\u00e4hrend Unit beides enger in einer Plattform verbindet. Migrationskonzepte m\u00fcssen diese Struktur ber\u00fccksichtigen.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">F\u00fcr PHP-Direktiven unterscheidet Unit die Bereiche <strong style=\"font-weight:700;color:inherit\">admin<\/strong> und <strong style=\"font-weight:700;color:inherit\">user<\/strong>. Admin-Optionen entsprechen PHP_INI_SYSTEM und sind durch die Anwendung nicht zur Laufzeit ver\u00e4nderbar; User-Optionen entsprechen PHP_INI_USER. Unit erweitert damit aber nicht den zul\u00e4ssigen Bereich einer PHP-Direktive. Ob eine Einstellung auf diesem Weg gesetzt oder durch Anwendungscode ge\u00e4ndert werden darf, bestimmt weiterhin ihr PHP-Konfigurationsmodus. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Warnung: Die in Unit 1.35.0 ausgewiesene PHP-8.5-Kompatibilit\u00e4t belegt nur die Unterst\u00fctzung dieses Stands im letzten stabilen Release. Sie ist kein Versprechen f\u00fcr k\u00fcnftige Sicherheitskorrekturen oder Anpassungen des Unit-PHP-Moduls. F\u00fcr Bestandsbetrieb sollten daher exakter Unit-Tag, PHP-Version, Modulherkunft und ein getesteter Abl\u00f6sepfad als zusammenh\u00e4ngende Abh\u00e4ngigkeit dokumentiert werden. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"php-routing-mit-unit\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"php-routing-mit-unit\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">PHP-Routing und Front Controller konfigurieren<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Eine Unit-Konfiguration verbindet einen Listener mit Routen und einer Anwendung. F\u00fcr eine lokale Demo kann der Listener ausschlie\u00dflich auf <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">127.0.0.1:8080<\/code> lauschen. Eine Route versucht zun\u00e4chst, die angeforderte Datei unter <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">\/srv\/example-app\/public<\/code> statisch auszuliefern. PHP-Dateien werden \u00fcber den MIME-Typ-Ausschluss von dieser Auslieferung ausgenommen und an die PHP-Anwendung weitergereicht; dasselbe gilt f\u00fcr nicht vorhandene Dateien. So bleiben \u00f6ffentliche Dateien und die Anwendungsausf\u00fchrung als getrennte Schritte nachvollziehbar. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">In der Anwendung legt <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">root<\/code> das Dokumentenverzeichnis fest, w\u00e4hrend <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">type: php<\/code> die PHP-Laufzeit ausw\u00e4hlt. Mit <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">script: index.php<\/code> wird jede an die Anwendung weitergereichte Anfrage an dieses Skript geleitet. Das entspricht dem <strong style=\"font-weight:700;color:inherit\">Front Controller<\/strong> vieler PHP-Frameworks: Die Anwendung wertet den urspr\u00fcnglichen Pfad selbst aus und entscheidet etwa \u00fcber Controller oder Fehlerseite. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ohne die Einstellung <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">script<\/code> verarbeitet Unit URI-basierte Skriptpfade. Das kann f\u00fcr \u00e4ltere Anwendungen passend sein, deren PHP-Dateien direkt aufgerufen werden sollen, verlangt aber eine sorgf\u00e4ltige Begrenzung der erreichbaren Pfade. <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">targets<\/code> erlauben zus\u00e4tzlich Teilbereiche mit abweichendem root-, script- oder index-Verhalten. Sie sind daher kein Ersatz f\u00fcr Routing, sondern eine M\u00f6glichkeit, mehrere Anwendungsregeln gezielt zu definieren. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Das folgende Beispiel ist eine JSON-Dateikonfiguration f\u00fcr eine lokale Demo, nicht f\u00fcr einen \u00f6ffentlichen Dienst. Sie enth\u00e4lt weder Domainnamen noch TLS- oder Zugangsdaten. Vor einer \u00dcbernahme m\u00fcssen Dateirechte, der tats\u00e4chlich installierte PHP-Support und die f\u00fcr Unit vorgesehene Methode zum Einspielen der Konfiguration gepr\u00fcft werden.<\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>Code<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">Code kopieren<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>Kopiert<\/span><span data-wh-copy-fallback hidden>Code markiert \u2013 bitte kopieren<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-json\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">{\n  &quot;listeners&quot;: {\n    &quot;127.0.0.1:8080&quot;: {\n      &quot;pass&quot;: &quot;routes\/example&quot;\n    }\n  },\n  &quot;routes&quot;: {\n    &quot;example&quot;: [\n      {\n        &quot;action&quot;: {\n          &quot;share&quot;: &quot;\/srv\/example-app\/public$uri&quot;,\n          &quot;types&quot;: [&quot;!application\/x-httpd-php&quot;],\n          &quot;fallback&quot;: {\n            &quot;pass&quot;: &quot;applications\/example-php&quot;\n          }\n        }\n      }\n    ]\n  },\n  &quot;applications&quot;: {\n    &quot;example-php&quot;: {\n      &quot;type&quot;: &quot;php&quot;,\n      &quot;root&quot;: &quot;\/srv\/example-app\/public&quot;,\n      &quot;script&quot;: &quot;index.php&quot;\n    }\n  }\n}<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Die Reihenfolge ist entscheidend: Der <strong style=\"font-weight:700;color:inherit\">statische Auslieferung<\/strong> dienende share-Schritt wird vor dem Fallback versucht, schlie\u00dft aber PHP-Dateien ausdr\u00fccklich aus. Diese Anfragen und nicht vorhandene Dateien landen bei <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">index.php<\/code>; dadurch funktionieren auch sprechende URLs wie <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">\/artikel\/beispiel<\/code> ohne eine gleichnamige Datei. Ob zus\u00e4tzliche Regeln f\u00fcr Upload-Verzeichnisse, Verwaltungsbereiche oder direkt erreichbare PHP-Dateien n\u00f6tig sind, ergibt sich aus der jeweiligen Anwendung und sollte nicht pauschal aus dieser Demo abgeleitet werden. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"prozessmodelle-und-ram-budget\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"prozessmodelle-und-ram-budget\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Prozessmodelle und RAM-Budget vergleichen<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">PHP-FPM steuert Worker je Pool \u00fcber die Modi <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">static<\/code>, <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">dynamic<\/code> und <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">ondemand<\/code>. Bei Unit wird die Prozesszahl dagegen innerhalb der Anwendung modelliert. Eine dynamische Unit-Konfiguration begrenzt mit <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">processes.max<\/code> die Gesamtzahl und h\u00e4lt mit <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">processes.spare<\/code> Leerlaufprozesse vor; <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">idle_timeout<\/code> r\u00e4umt \u00fcberz\u00e4hlige inaktive Prozesse ab.  <\/p>\n<div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Prozesssteuerung: \u00e4hnliche Ziele, unterschiedliche Konfigurationsmodelle\" style=\"width:100%;max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #dce5e9;border-radius:14px;background:#fff;box-shadow:0 10px 28px -16px rgba(24,47,60,.32);box-sizing:border-box\"><table style=\"width:100%;min-width:580px;border-collapse:separate;border-spacing:0;border:0;margin:0;font-size:15px;line-height:1.6;background:#fff\"><caption style=\"padding:20px;text-align:start;font-size:17px;line-height:1.5;font-weight:700;color:#173246;background:#fff\">Prozesssteuerung: \u00e4hnliche Ziele, unterschiedliche Konfigurationsmodelle<\/caption><thead><tr><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Mechanismus<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">PHP-FPM<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Unit<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Betriebswirkung<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Grenze<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Feste Workerzahl<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">pm = static<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">processes mit fester Zahl<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Kapazit\u00e4t bleibt vorab definiert.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Leerlauf verbraucht weiterhin Speicher.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Dynamische Worker<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">pm = dynamic; Obergrenze \u00fcber pm.max_children<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">processes.max und processes.spare<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Kapazit\u00e4t kann sich am Bedarf orientieren.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Die Obergrenze muss zum verf\u00fcgbaren RAM passen.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Start bei Bedarf<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">pm = ondemand<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Kein direkt gleich benannter Modus; Prozesseinstellungen bestimmen das Unit-Verhalten<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Kann Leerlaufprozesse reduzieren.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Startverhalten und Lastprofil m\u00fcssen beobachtet werden.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Abbau von Leerlauf<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Pool-Parameter des gew\u00e4hlten FPM-Modus<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">idle_timeout<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Nicht ben\u00f6tigte Prozesse k\u00f6nnen beendet werden.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Kein Ersatz f\u00fcr eine Kapazit\u00e4tsplanung.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Die Begriffe sind deshalb nicht eins zu eins austauschbar. Insbesondere ist eine dokumentierte Voreinstellung kein geeigneter Wert f\u00fcr eine Website. Sowohl <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">pm.max_children<\/code> als auch <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">processes.max<\/code> begrenzen parallele PHP-Arbeit und k\u00f6nnen bei zu niedrigen Werten Warteschlangen erzeugen. Zu hohe Werte konkurrieren dagegen mit Betriebssystem, Datenbank, Cache und weiteren Diensten um Arbeitsspeicher.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ein <strong style=\"font-weight:700;color:inherit\">RAM-Budget<\/strong> ist zun\u00e4chst nur ein Planungsmodell: Vom Gesamtspeicher werden Reserven f\u00fcr Betriebssystem, Datenbank, Cache und weitere Prozesse abgezogen. Der verbleibende Wert wird durch einen konservativ angesetzten Speicherbedarf je PHP-Worker geteilt. Beispielhaft ergeben 1.200 MiB f\u00fcr PHP geteilt durch 120 MiB je Worker rechnerisch zehn Worker; beide Werte sind bewusst gew\u00e4hlte Platzhalter, keine Messung oder Konfigurationsempfehlung.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Das Ergebnis ist eine <strong style=\"font-weight:700;color:inherit\">Obergrenze<\/strong> und ein Startpunkt f\u00fcr Beobachtung, nicht die richtige Einstellung. Entscheidend sind reale Spitzenwerte, Warteschlangen, Antwortfehler und der Speicherbedarf unter typischer sowie hoher Last. F\u00fcr die methodische Herleitung und das Nachjustieren von <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">pm.max_children<\/code> hilft der interne Beitrag <a href=\"https:\/\/webhosting.de\/wordpress-php-fpm-children-blockieren-optimierungstuning-serverperf\/\">PHP-FPM-Children passend berechnen<\/a>. Bei Unit gilt derselbe Grundsatz, auch wenn die Parameter anders hei\u00dfen.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Warnung: Prozessgrenzen durch blo\u00dfes \u00dcbernehmen fremder Zahlen zu setzen, verschiebt Probleme h\u00e4ufig nur. Erst ein abgegrenztes Speicherbudget und wiederholtes Monitoring zeigen, ob eine Worker-Obergrenze zur Anwendung, ihren Erweiterungen und den gleichzeitig betriebenen Diensten passt.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"vergleich-der-betriebsmodelle\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"vergleich-der-betriebsmodelle\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Betriebsmodelle f\u00fcr PHP-Hosting bewerten<\/h2><div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"Betriebsmodelle f\u00fcr PHP-Anwendungen im Vergleich\" style=\"width:100%;max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #dce5e9;border-radius:14px;background:#fff;box-shadow:0 10px 28px -16px rgba(24,47,60,.32);box-sizing:border-box\"><table style=\"width:100%;min-width:580px;border-collapse:separate;border-spacing:0;border:0;margin:0;font-size:15px;line-height:1.6;background:#fff\"><caption style=\"padding:20px;text-align:start;font-size:17px;line-height:1.5;font-weight:700;color:#173246;background:#fff\">Betriebsmodelle f\u00fcr PHP-Anwendungen im Vergleich<\/caption><thead><tr><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Modell und Architektur<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">PHP-Ausf\u00fchrung und Prozesse<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Konfiguration und Laufzeiten<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Wartungsstatus<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Geeigneter Einsatzfall<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">Zentrale Einschr\u00e4nkung<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">NGINX plus PHP-FPM; getrennte Web- und PHP-Schicht<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">NGINX leitet PHP per FastCGI an FPM-Pools weiter; FPM bietet static, dynamic und ondemand.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Webserver-Konfiguration plus Pooldateien im php.ini-Format; auf PHP ausgerichtet.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">PHP-FPM ist Teil der PHP-Distribution.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Standard f\u00fcr neue PHP-Hosting-Umgebungen.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Zwei Komponenten und ihre Schnittstelle m\u00fcssen betrieben werden.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">NGINX Unit 1.35.0; Application Server mit Listenern und Anwendungen<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Unit f\u00fchrt PHP \u00fcber sein Sprachmodul aus und verwaltet Anwendungsprozesse.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Zentrale JSON-Konfiguration; Plattform f\u00fcr mehrere Laufzeiten.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Letzter stabiler Release-Tag 1.35.0; Projekt ist archiviert.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Bestand oder bewusst isolierte Sonderumgebung.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Keine fortlaufende Projektpflege; Modul- und Versionsbindung beachten.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Apache HTTP Server mit PHP-FPM; Webserver und externe PHP-Schicht<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Apache \u00fcbergibt PHP an FPM-Pools.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Apache-Konfiguration plus FPM-Pooldateien; auf PHP ausgerichtet.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">PHP-FPM ist Teil der PHP-Distribution.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Umgebungen mit Apache-spezifischen Anforderungen.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">Zwei Komponenten und ihre Schnittstelle m\u00fcssen betrieben werden.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Die Tabelle ordnet Architekturen, nicht Geschwindigkeit oder Speicherverbrauch. F\u00fcr neues PHP-Hosting spricht beim NGINX-PHP-FPM-Aufbau vor allem die klare Trennung: Der Webserver behandelt HTTP, Proxying und statische Inhalte, w\u00e4hrend PHP-FPM die PHP-Worker pro Pool verwaltet. Diese Zust\u00e4ndigkeiten erleichtern es, Konfigurationen, Fehlerbilder und Updates getrennt zu beurteilen. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Unit konnte Listener, Routing, statische Dateien und Anwendungen in einer Plattform b\u00fcndeln und neben PHP weitere Laufzeiten unterst\u00fctzen. Dieser Mehrsprachenansatz kann erkl\u00e4ren, weshalb eine bestehende Umgebung Unit gew\u00e4hlt hat. F\u00fcr ausschlie\u00dflich PHP-basierte Angebote ist er jedoch kein automatischer Vorteil: Er ersetzt weder die Bewertung der ben\u00f6tigten Funktionen noch die Pr\u00fcfung, ob das Team die andere Konfigurations- und Betriebslogik dauerhaft beherrschen kann. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Bei Unit 1.35.0 muss der technische Funktionsumfang vom <strong style=\"font-weight:700;color:inherit\">Wartungsstatus<\/strong> getrennt werden. Der Release-Tag belegt die ver\u00f6ffentlichte Version und deren \u00c4nderungen; daraus folgt keine weitere Pflege des inzwischen archivierten Projekts. F\u00fcr eine Neuentscheidung wiegt diese Grenze schwerer als eine geringere Zahl sichtbarer Komponenten. F\u00fcr eine vorhandene Installation ist sie dagegen Anlass, Abh\u00e4ngigkeiten und einen Migrationsweg zu dokumentieren.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Apache mit PHP-FPM ist keine pauschal bessere oder schlechtere Alternative, sondern eine Option bei vorhandenen Apache-Anforderungen. Die Auswahl sollte sich an Wartbarkeit, verf\u00fcgbaren PHP-Versionen, Patchprozessen, Teamwissen und dem R\u00fcckfallplan orientieren. Ohne vergleichbare Lastprofile und dokumentierte Messmethodik l\u00e4sst sich aus dieser Architektur\u00fcbersicht keine belastbare Leistungsrangfolge ableiten.<\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"bestandsbetrieb-und-absicherung\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"bestandsbetrieb-und-absicherung\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Unit im Bestand sicher betreiben<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Eine vorhandene Unit-Installation sollte zun\u00e4chst als Bestandssystem erfasst werden, nicht als Vorlage f\u00fcr eine neue Plattform. Entscheidend sind die tats\u00e4chlich eingesetzte Version, die angebundenen Anwendungen und ihre Abh\u00e4ngigkeiten. Dass Unit weiterhin technisch ausf\u00fchrbar ist, \u00e4ndert nichts daran, dass das Projekt archiviert wurde; Betrieb und Abl\u00f6sung m\u00fcssen daher gemeinsam geplant werden. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Bei WordPress, Joomla oder Drupal ist der <strong style=\"font-weight:700;color:inherit\">Front Controller<\/strong> der zentrale Punkt: Nicht als Datei vorhandene Pfade m\u00fcssen an die zentrale PHP-Einstiegsdatei gehen, w\u00e4hrend vorhandene Dateien direkt ausgeliefert werden k\u00f6nnen. Die WordPress-Anleitung f\u00fcr Unit zeigt dieses Routing-Prinzip einschlie\u00dflich der Behandlung von PHP-Dateien und <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">\/wp-admin\/<\/code>. F\u00fcr ein bestehendes CMS kann das eine nachvollziehbare Konfiguration sein; f\u00fcr eine Neuinstallation folgt daraus keine Empfehlung f\u00fcr Unit. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Mehrere kleine Anwendungen mit PHP, Python, Ruby oder Node.js konnten unter Unit Listener, Routen und Laufzeiten in einer gemeinsamen Plattform b\u00fcndeln. Das kann erkl\u00e4ren, warum sich eine bestehende Architektur seinerzeit f\u00fcr Unit entschieden hat. Bei reinem PHP-Hosting ist diese Mehrsprachenf\u00e4higkeit jedoch kein Selbstzweck: Separate, gepflegte Komponenten k\u00f6nnen trotz zus\u00e4tzlicher Schnittstellen langfristig besser wartbar sein. <\/p>\n<figure class=\"wp-block-image size-large wh-figure\" aria-describedby=\"wh-caption-detail1\" style=\"display:block;float:none;clear:both;width:100%;max-width:760px;margin:34px auto 40px;border:1px solid #dae5e9;border-radius:14px;overflow:hidden;background:#f5f8fa;box-shadow:0 10px 28px -17px rgba(24,47,60,.28);box-sizing:border-box\"><div class=\"wh-figure-media\" style=\"display:block;background:#eef3f5;line-height:0\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-bestand-migration-pruefung-05837d81-detail1-d6f2c02b3d-1024x683.webp\" class=\"wp-image-21781\" alt=\"Zwei IT-Fachleute pr\u00fcfen im Stagingraum gemeinsam eine Bestandsplattform f\u00fcr PHP-Anwendungen.\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-bestand-migration-pruefung-05837d81-detail1-d6f2c02b3d-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-bestand-migration-pruefung-05837d81-detail1-d6f2c02b3d-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-bestand-migration-pruefung-05837d81-detail1-d6f2c02b3d-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-bestand-migration-pruefung-05837d81-detail1-d6f2c02b3d-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-bestand-migration-pruefung-05837d81-detail1-d6f2c02b3d.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/ style=\"display:block;width:100%;max-width:100%;height:auto;margin:0;float:none\"><\/div><figcaption class=\"wh-caption\" id=\"wh-caption-detail1\" style=\"display:block;margin:0;padding:12px 18px 15px;border-top:1px solid #dce5e9;color:#506575;background:#f5f8fa;font-size:14px;line-height:1.55;text-align:start\">KI-generiertes Symbolbild: Bestandsumgebungen ben\u00f6tigen eine dokumentierte Pr\u00fcfung von Versionen, Modulen und Migrationspfaden.<\/figcaption><\/figure><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ein eingefrorenes Container-Deployment verlangt eine besonders genaue Inventarisierung. Dokumentiere daf\u00fcr den exakten Unit-Tag, die PHP-Version, das installierte Sprachmodul, das Basisimage und die vollst\u00e4ndige Konfiguration. Erg\u00e4nze au\u00dferdem Quellen f\u00fcr Images und Pakete, den Patchprozess sowie einen getesteten Migrations- und R\u00fcckfallpfad. PHP-Kompatibilit\u00e4t eines bestimmten Unit-Releases ist dabei keine Zusage, dass das zugeh\u00f6rige Modul k\u00fcnftig Sicherheitskorrekturen erh\u00e4lt. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">NGINX kann vor Unit stehen, etwa wenn eine bestehende NGINX-Schicht erhalten bleiben soll oder Zugriffe gezielt vorgelagert werden. Die Unit-Dokumentation nennt diese Integration auch im Zusammenhang mit der Absicherung des Control Socket. Sie behebt den archivierten Status aber nicht und schafft einen weiteren Dienst mit eigener Konfiguration, Protokollierung und Updateverantwortung. Der Nutzen muss deshalb konkret gegen diesen Betriebsaufwand abgewogen werden. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"timeouts-logs-und-fehlersuche\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"timeouts-logs-und-fehlersuche\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Timeouts, Logs und h\u00e4ngende Prozesse<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Prozessgrenzen sind keine Fehlerdiagnose. Mit <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">limits.requests<\/code> kann Unit einen Anwendungsprozess nach einer festgelegten Zahl bearbeiteter Anfragen ersetzen. Das kann kumulierte Speicherbelegung zeitlich begrenzen, beseitigt aber weder Speicherlecks noch \u00fcbergro\u00dfe Datenstrukturen oder blockierende externe Aufrufe. Ein regelm\u00e4\u00dfiger Neustart darf daher nicht als Nachweis f\u00fcr einen stabilen Anwendungscode gelten. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Mit <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">limits.timeout<\/code> beendet Unit eine Anfrage nach Ablauf der konfigurierten Zeit mit HTTP 503. Das ist eine sichtbare Schutzgrenze f\u00fcr einzelne Requests, jedoch kein vollst\u00e4ndiger Schutz gegen festgefahrene Worker: Laut Dokumentation erkennt Unit eingefrorene Prozesse nicht; sie k\u00f6nnen im Prozesspool verbleiben. Ein h\u00f6herer Timeout verschiebt dieses Problem nur, ein niedrigerer kann regul\u00e4r langsame Vorg\u00e4nge abbrechen. <\/p>\n<figure class=\"wp-block-image size-large wh-figure\" aria-describedby=\"wh-caption-detail2\" style=\"display:block;float:none;clear:both;width:100%;max-width:760px;margin:34px auto 40px;border:1px solid #dae5e9;border-radius:14px;overflow:hidden;background:#f5f8fa;box-shadow:0 10px 28px -17px rgba(24,47,60,.28);box-sizing:border-box\"><div class=\"wh-figure-media\" style=\"display:block;background:#eef3f5;line-height:0\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-prozesse-timeouts-serverdetail-05837d81-detail2-02b487c165-1024x683.webp\" class=\"wp-image-21782\" alt=\"Nahaufnahme eines kompakten Servers bei der Kontrolle einer bestehenden PHP-Hosting-Umgebung.\" loading=\"lazy\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-prozesse-timeouts-serverdetail-05837d81-detail2-02b487c165-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-prozesse-timeouts-serverdetail-05837d81-detail2-02b487c165-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-prozesse-timeouts-serverdetail-05837d81-detail2-02b487c165-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-prozesse-timeouts-serverdetail-05837d81-detail2-02b487c165-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-unit-prozesse-timeouts-serverdetail-05837d81-detail2-02b487c165.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/ style=\"display:block;width:100%;max-width:100%;height:auto;margin:0;float:none\"><\/div><figcaption class=\"wh-caption\" id=\"wh-caption-detail2\" style=\"display:block;margin:0;padding:12px 18px 15px;border-top:1px solid #dce5e9;color:#506575;background:#f5f8fa;font-size:14px;line-height:1.55;text-align:start\">KI-generiertes Symbolbild: Prozessgrenzen und Timeouts ersetzen keine Ursachenanalyse h\u00e4ngender Anwendungen.<\/figcaption><\/figure><ul class=\"wh-list\" role=\"list\" style=\"list-style:none;margin:24px 0;padding:0\"><li style=\"margin:8px 0;padding:12px 17px;background:#f5f8fa;border:1px solid #e0e8ec;border-radius:9px\">HTTP-Status, betroffene Pfade, Zeitfenster und H\u00e4ufigkeit erfassen, bevor Grenzwerte ge\u00e4ndert werden.<\/li><li style=\"margin:8px 0;padding:12px 17px;background:#f5f8fa;border:1px solid #e0e8ec;border-radius:9px\">Zugriffs-, Fehler- und Anwendungslogs anhand von Zeitstempeln zusammenf\u00fchren; bei PHP-FPM kann ein Slowlog zus\u00e4tzliche Stack-Hinweise liefern.<\/li><li style=\"margin:8px 0;padding:12px 17px;background:#f5f8fa;border:1px solid #e0e8ec;border-radius:9px\">CPU, Arbeitsspeicher, I\/O, Netzwerkverbindungen sowie Zustand und Anzahl der Prozesse pr\u00fcfen.<\/li><li style=\"margin:8px 0;padding:12px 17px;background:#f5f8fa;border:1px solid #e0e8ec;border-radius:9px\">Danach Code, Datenbankabfragen, Dateisystemzugriffe und externe Dienste als m\u00f6gliche Ursache untersuchen.<\/li><li style=\"margin:8px 0;padding:12px 17px;background:#f5f8fa;border:1px solid #e0e8ec;border-radius:9px\">Erst wenn Ursache und Lastprofil bekannt sind, Timeouts, Prozessgrenzen oder Neustartregeln gezielt anpassen.<\/li><\/ul><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ein HTTP 503 kann somit auf ein abgelaufenes Zeitlimit hinweisen, aber auch durch vorgelagerte Komponenten oder andere Fehler entstehen. Wiederkehrende lange PHP-Anfragen solltest du nicht allein \u00fcber Worker-Zahlen behandeln. Die Anleitung zum <a href=\"https:\/\/webhosting.de\/php-fpm-slowlog-richtig-auswerten-performance-optimierung-debugging-analyse\/\">PHP-FPM-Slowlog und zur Ursachenanalyse langsamer Requests<\/a> zeigt, wie Stack-Spuren mit Request-Daten verbunden werden k\u00f6nnen; die gleiche Ursache-Wirkung-Logik ist auch bei einer Unit-Bestandsanalyse sinnvoll.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Besonders kritisch sind Symptome ohne eindeutigen Abschluss: steigende Wartezeiten, dauerhaft belegte Prozesse oder ausbleibende Logfortschritte. Dann sind Prozesszustand und Abh\u00e4ngigkeiten wichtiger als eine pauschale Timeout-Erh\u00f6hung. Pr\u00fcfe beispielsweise, ob ein PHP-Worker auf Datenbank-, DNS-, Dateisystem- oder Netzwerk-I\/O wartet. Erst die konkrete Blockade entscheidet, ob ein Code-Fix, eine Ressourcenanpassung oder ein kontrollierter Neustart angemessen ist.<\/p>\n<aside class=\"wh-callout wh-callout-warning\" style=\"display:block;margin:28px 0;padding:20px 23px;border:1px solid #d1e4dd;border-left:4px solid #187065;border-radius:11px;background:#f0f7f4\"><p class=\"wh-callout-title\" style=\"margin:0 0 8px;color:#1c5c53;font-size:16px;font-weight:700;line-height:1.5\">Timeouts richtig einordnen<\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Ein Timeout begrenzt die Dauer einer Anfrage, ersetzt aber weder Monitoring noch die Analyse h\u00e4ngender Prozesse und externer Abh\u00e4ngigkeiten. <\/p>\n<\/aside><\/section><section class=\"wh-section\" aria-labelledby=\"entscheidung-und-migrationspfad\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"entscheidung-und-migrationspfad\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Entscheidung f\u00fcr neue und alte Systeme<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">F\u00fcr neue PHP-Hosting-Umgebungen ist ein gepflegter Webserver mit PHP-FPM die nachvollziehbarere Standardentscheidung. PHP-FPM geh\u00f6rt zur regul\u00e4ren PHP-Distribution und stellt dokumentierte Pool- und Prozessmanager-Optionen bereit. Bei Unit verschiebt sich die Frage dagegen von der reinen Funktionsf\u00e4higkeit zur Wartbarkeit: Die Installation kann weiterlaufen, doch der archivierte Projektstatus erh\u00f6ht das Risiko einer langfristigen Abh\u00e4ngigkeit. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">F\u00fcr vorhandene Unit-Systeme beginnt eine sachliche Entscheidung mit einer Inventarisierung. Pr\u00fcfe Wartungsstatus und Patchf\u00e4higkeit von Betriebssystem, PHP und Basisimage, die Kompatibilit\u00e4t des installierten Sprachmoduls, vorhandenes Betriebswissen sowie gekoppelte Dienste. Ebenso wichtig sind exportierbare Konfigurationen, ein reproduzierbarer Rollback und ein Zielsystem, auf das sich Routing, PHP-Einstellungen und Deployments schrittweise \u00fcbertragen lassen. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Eine Migration ben\u00f6tigt keine erfundene allgemeing\u00fcltige Frist, aber eine priorisierte Reihenfolge. Internet-exponierte Anwendungen, nicht aktualisierbare Images, unklare Modulherkunft und gesch\u00e4ftskritische Anwendungen ohne R\u00fcckfallplan verdienen zuerst Aufmerksamkeit. Danach lassen sich Anwendungen nach Komplexit\u00e4t und Abh\u00e4ngigkeiten gruppieren. Ein Parallelbetrieb w\u00e4hrend einer kontrollierten Umstellung kann Risiken reduzieren, sofern Datenhaltung, Sessions und R\u00fcckweg vorher definiert sind.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Die <strong style=\"font-weight:700;color:inherit\">Control API<\/strong> ist ein administrativer Zugriff und kein gew\u00f6hnlicher Endpunkt einer Website. Unit dokumentiert f\u00fcr sie einen Unix-Domain-Socket und begr\u00fcndet dessen Einsatz mit Sicherheitsaspekten. Lege restriktive Dateirechte und klar abgegrenzte administrative Zugriffe fest; eine \u00f6ffentliche Erreichbarkeit w\u00fcrde Angreifern bei erfolgreichem Zugriff weitreichende M\u00f6glichkeiten zur \u00c4nderung der Konfiguration er\u00f6ffnen. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Der praktische Migrationspfad endet nicht mit einer neuen Prozesskonfiguration. \u00dcbernimm Anwendung f\u00fcr Anwendung die PHP-Version, Erweiterungen, Umgebungswerte, Dateirechte, Routingregeln und Beobachtbarkeit in das Zielsystem. Vergleiche dabei erwartete Antworten und Fehlerf\u00e4lle statt pauschale Geschwindigkeitsurteile abzuleiten. So wird aus einer ungeplanten Altlast eine dokumentierte <strong style=\"font-weight:700;color:inherit\">Abl\u00f6sestrategie<\/strong> mit nachvollziehbaren technischen Entscheidungen.<\/p>\n<\/section><section class=\"wh-sources\" style=\"margin:40px 0 0;padding:24px 0 0;border-top:1px solid #dce5e9;color:#596b7b;font-size:14px;line-height:1.65\"><h2 style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">Quellen und fachlicher Stand<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Recherche-Stand: <time datetime=\"2026-09-30\">2026-09-30<\/time><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">Recherche-Stichtag: 30. September 2026. NGINX Unit ist seit Oktober 2025 archiviert. Die weiterhin verf\u00fcgbare Installationsdokumentation referenziert teils 1.34.2; Aussagen zur PHP-8.5-Kompatibilit\u00e4t beziehen sich ausschlie\u00dflich auf den stabilen Release-Tag 1.35.0.<\/p><div class=\"wh-source-urls\"><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/github.com\/nginx\/unit\/releases<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/installation\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/www.php.net\/manual\/en\/install.fpm.configuration.php<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/configuration\/?platform=docker<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/howto\/source\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/github.com\/nginx\/unit\/blob\/master\/CHANGES<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/howto\/wordpress\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/howto\/integration\/<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/unit.nginx.org\/controlapi\/<\/span><\/p><\/div><\/section><\/div>\n","protected":false},"excerpt":{"rendered":"<p>O NGINX Unit era capaz de executar PHP diretamente, mas, devido ao facto de o projeto estar arquivado, n\u00e3o \u00e9 uma recomenda\u00e7\u00e3o geral para novas plataformas de alojamento PHP. A compara\u00e7\u00e3o apresenta a arquitetura, os modelos de processo e os passos a seguir para instala\u00e7\u00f5es existentes.<\/p>","protected":false},"author":1,"featured_media":21780,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[834],"tags":[],"class_list":["post-21778","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-plesk-webserver-plesk-administration-anleitungen"],"acf":[],"_links":{"self":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts\/21778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/comments?post=21778"}],"version-history":[{"count":3,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts\/21778\/revisions"}],"predecessor-version":[{"id":21784,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/posts\/21778\/revisions\/21784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/media\/21780"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/media?parent=21778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/categories?post=21778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pt\/wp-json\/wp\/v2\/tags?post=21778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}