Verschiedene Möglichkeiten zum Neustart von PHP-FPM ⋆ ALexHost SRL

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
09.12.2024

Verschiedene Möglichkeiten zum Neustart von PHP-FPM

PHP-FPM (PHP FastCGI Process Manager) ist ein leistungsfähiger und weit verbreiteter Prozessmanager für PHP, der oft wegen seiner Geschwindigkeit und seiner Fähigkeit, Websites mit hohem Datenverkehr zu verarbeiten, geschätzt wird. Für Entwickler und Systemadministratoren ist es wichtig zu wissen, wie man PHP-FPM neu startet, insbesondere wenn man Änderungen an PHP-Konfigurationen vornimmt, Probleme behebt oder routinemäßige Wartungsarbeiten durchführt. In diesem Artikel werden wir verschiedene Methoden zum Neustart von PHP-FPM auf unterschiedlichen Systemen und in unterschiedlichen Umgebungen untersuchen.

Warum PHP-FPM neu starten?

Bevor wir auf die einzelnen Methoden eingehen, sollten wir kurz erörtern, warum ein Neustart von PHP-FPM notwendig sein könnte:

  1. Konfigurationsänderungen: Wenn Sie PHP-Einstellungen in den Dateien php.ini oder php-fpm.conf ändern, ist ein Neustart erforderlich, damit die Änderungen wirksam werden.
  2. Optimierung der Leistung: Ein Neustart von PHP-FPM kann dazu beitragen, Speicher und Ressourcen freizugeben, insbesondere bei stark frequentierten Websites.
  3. Fehlerbehebung: Wenn PHP-FPM auf Probleme stößt oder nicht mehr reagiert, kann ein Neustart helfen, vorübergehende Störungen zu beheben.
  4. Log-Rotation: Nach der Rotation der Protokolldateien für PHP-FPM kann ein Neustart erforderlich sein, um sicherzustellen, dass neue Protokolle ordnungsgemäß geschrieben werden.

Voraussetzungen

Vergewissern Sie sich, dass Sie Root-Zugriff oder die notwendigen Rechte haben, um die Dienste auf Ihrem Server neu zu starten. Je nach Linux-Distribution können Sie verschiedene Befehle wie systemctl oder service verwenden.

Methode 1: Verwendung von systemctl

Bei modernen Linux-Distributionen wie Ubuntu 16.04 und CentOS 7 ist systemctl die Standardmethode zur Verwaltung von Diensten, einschließlich PHP-FPM. Im Folgenden wird beschrieben, wie Sie PHP-FPM mit systemctl neu starten können:

PHP-FPM neu starten

sudo systemctl restart php-fpm

Mit diesem Befehl wird der PHP-FPM-Dienst neu gestartet, wobei alle neuen Konfigurationsänderungen übernommen werden.

PHP-FPM anhalten und starten

Wenn Sie mehr Kontrolle wünschen, können Sie PHP-FPM auch manuell stoppen und starten:

sudo systemctl stop php-fpm
sudo systemctl start php-fpm

Dies kann hilfreich sein, wenn Sie sicherstellen wollen, dass der Dienst vollständig gestoppt ist, bevor Sie ihn wieder starten.

Status prüfen

Um sicherzustellen, dass PHP-FPM erfolgreich neu gestartet wurde, verwenden Sie:

sudo systemctl status php-fpm

Dies zeigt den Status des PHP-FPM-Dienstes an, einschließlich der Frage, ob er aktiv ist und ob es aktuelle Protokollmeldungen gibt.

Methode 2: Verwendung des Befehls service

Der Befehl service wird üblicherweise bei älteren Linux-Distributionen oder aus Gründen der Abwärtskompatibilität verwendet. Hier erfahren Sie, wie Sie PHP-FPM mit dem Befehl service neu starten:

sudo service php-fpm restart

Oder um den Dienst separat zu stoppen und zu starten:

sudo service php-fpm stoppen
sudo dienst php-fpm starten

Methode 3: Neustart bestimmter PHP-FPM-Versionen

Wenn Sie mehrere PHP-Versionen installiert haben, müssen Sie die Version von PHP-FPM angeben, die Sie neu starten möchten. Wenn Sie zum Beispiel PHP 7.4 installiert haben, verwenden Sie den folgenden Befehl:

sudo systemctl restart php7.4-fpm

Oder mit service:

sudo service php7.4-fpm restart

Diese Methode ist besonders nützlich für Umgebungen, in denen unterschiedliche PHP-Versionen für verschiedene Anwendungen oder Websites benötigt werden.

Methode 4: Direktes Senden von Signalen an PHP-FPM

Sie können direkt Signale an PHP-FPM senden, um Konfigurationen neu zu laden, ohne den Dienst vollständig neu zu starten. Dies ist ein unauffälligerer Ansatz, der den Webverkehr weniger stören kann:

Konfiguration neu laden

Um die PHP-FPM-Konfiguration neu zu laden, ohne bestehende Prozesse zu beenden, verwenden Sie:

sudo kill -USR2 $(cat /run/php/php-fpm.pid)

Ersetzen Sie /run/php/php-fpm.pid durch den Pfad zu Ihrer tatsächlichen PID-Datei, falls dieser abweicht. Diese Methode ist nützlich, wenn Sie Konfigurationsänderungen nachladen wollen, ohne alle PHP-FPM-Prozesse neu zu starten.

Anständiger Neustart

Ein sanfter Neustart ermöglicht es PHP-FPM, laufende Anfragen zu beenden, bevor er neu gestartet wird:

sudo kill -QUIT $(cat /run/php/php-fpm.pid)

Dies ist besonders in Produktionsumgebungen hilfreich, in denen Sie die Unterbrechung aktiver Benutzersitzungen vermeiden wollen.

Methode 5: Verwendung von pkill oder killall

Wenn Sie Probleme mit PHP-FPM haben und alle Prozesse zwangsweise stoppen müssen, können Sie pkill oder killall verwenden. Dies ist eine aggressivere Methode und sollte mit Vorsicht verwendet werden:

sudo pkill php-fpm

Oder:

sudo killall php-fpm

Nachdem Sie die Prozesse beendet haben, müssen Sie PHP-FPM manuell starten:

sudo systemctl start php-fpm

Methode 6: Neustart von Nginx oder Apache

In einigen Fällen kann ein Neustart Ihres Webservers indirekt PHP-FPM neu starten, wenn es eng mit dem Prozess des Webservers verbunden ist. So können Sie das tun:

Nginx

sudo systemctl neu starten nginx

Apache

sudo systemctl neu starten apache2

Diese Methode wird zwar nicht für PHP-FPM-spezifische Probleme empfohlen, kann aber nützlich sein, wenn Sie Wartungsarbeiten an Ihrem gesamten Web-Stack durchführen.

Best Practices für den Neustart von PHP-FPM

  • Protokolle prüfen: Prüfen Sie vor dem Neustart die PHP-FPM-Protokolle auf Fehler oder Warnungen. Dies kann helfen, zugrundeliegende Probleme zu identifizieren, die ohne einen Neustart behoben werden können.
  • Sanfte Neustarts in der Produktion: Bevorzugen Sie in einer Produktionsumgebung immer einen sanften Neustart, um die Benutzer nicht zu stören.
  • Überwachen Sie die Ressourcenauslastung: Verwenden Sie Tools wie top, htop oder ps, um die PHP-FPM-Prozesse vor und nach einem Neustart zu überwachen, um sicherzustellen, dass der Prozess wie erwartet funktioniert.

Schlussfolgerung

Der Neustart von PHP-FPM ist eine gängige Aufgabe, mit der jeder Serveradministrator oder Entwickler vertraut sein sollte. Egal, ob Sie systemctl, service, das Senden von Signalen oder einen sanften Neustart verwenden, die Kenntnis der richtigen Methode für Ihre Situation kann eine reibungslose Leistung und minimale Unterbrechung Ihrer Dienste gewährleisten. Wenn Sie sich an die Best Practices halten, können Sie Ihren PHP-FPM effizient betreiben und alle Probleme, die auftreten können, sicher bewältigen.

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills