Optimieren des VestaCP-phpfcgid-Vorlagenkonfigurationsprozesses Multi-Memory-Erschöpfung 500-Fehler

VestaCP Nachdem der WEB-Dienst das Template „phpfcgid“ ausgewählt hat, sorgen eine Vielzahl von PHP-CGI-Prozessen dafür, dass der Speicher schnell erschöpft ist:

  • Nach dem Neustart des Servers ging mir im Grunde einige Stunden lang der Speicher aus.
  • Der zuvor inaktive PHP-CGI-Prozess wird nicht beendet, und ein Prozess führt fast 1 Unterprozesse aus, die mindestens 20 MB Speicher verbrauchen.

Wird in SSH verwendet htop Befehl (Installation erforderlich), können Sie diesen Status anzeigen ▼

Nachdem der WEB-Dienst von VestaCP das Template „phpfcgid“ ausgewählt hat, führen eine Vielzahl von PHP-CGI-Prozessen dazu, dass der Speicher schnell erschöpft ist.

Wenn Sie eine Fehlermeldung "-bash: htop: Befehl nicht gefunden" erhalten, wenn Sie den Befehl htop verwenden, sehen Sie sich bitte dieses Tutorial für die Lösung an ▼

Eine große Anzahl von PHP-CGI-Prozessen führt dazu, dass der Speicher schnell erschöpft ist.Das Problem liegt in VestaCPCentOSIn der phpfcgid-Vorlage wird eine nicht optimierte Konfiguration verwendet.

  • VestaCP in der phpfcgid-Vorlage, legen Sie 1 PHP-CGI-Prozess fest, um bis zu 20 untergeordnete Prozesse auszuführen.

Anfrage /usr/local/vesta/data/templates/web/httpd/phpfcgid.sh Zeile 13 der Datei:

export PHP_FCGI_CHILDREN=20

Ein solches Setup verstößt jedoch gegen die Warnung von Apache in der Dokumentation zur Verwaltung von PHP-Unterprozessen:

Verwaltung von untergeordneten PHP-Prozessen (PHP_FCGI_CHILDREN) sollte immer mit mod_fcgid deaktiviert werden, das nur jeweils eine Anfrage an von ihm erzeugte Anwendungsprozesse weiterleitet; daher werden alle von PHP erstellten untergeordneten Prozesse nicht effektiv verwendet. (Außerdem werden die untergeordneten PHP-Prozesse möglicherweise nicht ordnungsgemäß beendet .) Standardmäßig und mit der Einstellung der Umgebungsvariablen PHP_FCGI_CHILDREN=0, die Verwaltung untergeordneter PHP-Prozesse ist deaktiviert.

Da der PHP-CGI-Prozess im mod_fcgid-Modul von Apache nur auf eine Anfrage antworten und gleichzeitig ausgeführt werden kann, ist der untergeordnete PHP-CGI-Prozess sehr ineffizient.

Daher sollten die Einstellungen für die Verwaltung von PHP-Subprozessen direkt deaktiviert werden ▼

PHP_FCGI_CHILDREN=0

Wenn Sie bereits einen generierten virtuellen Host haben, müssen Sie gleichzeitig die Konfigurationsdateien aller Websites ändern ▼

/home/用户名/web/域名/cgi-bin/fcgi-starter

Fügen Sie nach dem Öffnen der fcgi-starter-Konfigurationsdatei das folgende ▼ ein

export PHP_FCGI_CHILDREN=20

Geändert zu ▼

export PHP_FCGI_CHILDREN=0
  • Nach der Änderung wird die PHP-Unterprozessverwaltung im mod_fcgid-Modus deaktiviert.
  • Der PHP-CGI-Prozess erzeugt keine untergeordneten Prozesse mehr, was viel Speicher sparen kann.

Außerdem setzt VestaCP keinen Beendigungsmechanismus für Leerlaufprozesse:

  • Alle neu ausgeführten PHP-CGI-Prozesse verwenden weiterhin Speicher, bis das System neu gestartet wird.

Um dies zu beheben, fügen Sie einfach die Konfigurationsdatei mod_fcgid hinzu /etc/httpd/conf.d/fcgid.conf Fügen Sie die folgenden Einstellungen in ▼ hinzu

FcgidIdleTimeout 120
  • Stellen Sie Apache so ein, dass PHP-CGI-Prozesse, die für 2 Minuten (120 Sekunden) inaktiv sind, automatisch beendet werden.

Nachdem die Einrichtung abgeschlossen ist, starten Sie den Apache-Dienst neu ▼

service httpd restart

Nach dem Neustart des Dienstes werden die Hunderte von PHP-CGI-Prozessen, die zuvor in HTOP angezeigt wurden, nicht mehr angezeigt.

Typischerweise verbraucht ein einzelner PHP-CGI-Prozess für einen einzelnen Vesta CP-Benutzer 30 bis 40 MB Speicher, was völlig zufriedenstellend istLinuxHost-Anforderungen.

Daher网络 网络Menschen wollen es gut machenSEO, ist es sehr wichtig, die Konfiguration von Vesta CP und Vorlagen zu optimieren ^_^

Sie können sich die folgenden Tutorials im VestaCP-Panel ▼ ansehen

Hoffnung Chen Weiliang Blog ( https://www.chenweiliang.com/ ) hat „Optimizing VestaCP phpfcgid Template Configuration Process Multiple Memory Exhaustion 500 Errors“ geteilt, was für Sie hilfreich ist.

Willkommen, um den Link dieses Artikels zu teilen:https://www.chenweiliang.com/cwl-735.html

Willkommen im Telegrammkanal von Chen Weiliangs Blog, um die neuesten Updates zu erhalten!

🔔 Seien Sie der Erste, der den wertvollen „ChatGPT Content Marketing AI Tool Usage Guide“ im Kanal-Top-Verzeichnis erhält! 🌟
📚 Dieser Leitfaden enthält einen enormen Mehrwert. 🌟Dies ist eine seltene Gelegenheit, verpassen Sie sie nicht! ⏰⌛💨
Teilen und liken, wenn es euch gefällt!
Ihr Teilen und Ihre Likes sind unsere ständige Motivation!

 

发表 评论

Deine Email-Adresse wird nicht veröffentlicht. 必填 项 已 已 * 标注

nach oben scrollen