Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:web_c7:apache_4 [07.08.2017 20:53. ] – [PHP Info bei Verwendung von php-fpm] djangocentos:web_c7:apache_4 [22.07.2019 14:57. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Alternativer FastCGI Process Manager für den Apache httpd unter CentOS 7.x ====== ====== Alternativer FastCGI Process Manager für den Apache httpd unter CentOS 7.x ======
-{{:centos:web_c7:phpfpmlogo.png?nolink&250 |Bild: PHP-FPM Logo }} Mit **[[https://php-fpm.org/|PHP-FPM]]** kann ein alternativer FastCGI Process Manager (FastCGI-Implementierung) beim Apache webserver verwendet werden, um z.B. die PHP-Verarbeitungs erheblich zu beschleunigen und somit die Antwortzeiten des Webservers signifikant zu verbessern. [[https://php-fpm.org/|PHP-FPM]] ist seit der PHP **Version 5.3.3** fest in PHP integriert. [[https://php-fpm.org/|PHP-FPM]] startet dazu mehrere PHP-Interpreter-Prozesse, die ständig im Hintergrund laufen um auf Anfragen zu warten. Eingehende Requests nimmt er vom Apache-Webserver [[http://httpd.apache.org|Apache HTTP Server]] entgegen und teilt dies dann den bereitstehenden Prozessen des PHP-Interpreter zu.+{{:centos:web_c7:phpfpmlogo.png?nolink&250 |Bild: PHP-FPM Logo }} Mit **[[https://php-fpm.org/|PHP-FPM]]** kann ein alternativer FastCGI Process Manager (FastCGI-Implementierung) beim Apache Webserver verwendet werden, um z.B. die PHP-Verarbeitungs erheblich zu beschleunigen und somit die Antwortzeiten des Webservers signifikant zu verbessern. [[https://php-fpm.org/|PHP-FPM]] ist seit der PHP **Version 5.3.3** fest in PHP integriert. [[https://php-fpm.org/|PHP-FPM]] startet dazu mehrere PHP-Interpreter-Prozesse, die ständig im Hintergrund laufen um auf Anfragen zu warten. Eingehende Requests nimmt er vom Apache-Webserver [[http://httpd.apache.org|Apache HTTP Server]] entgegen und teilt dies dann den bereitstehenden Prozessen des PHP-Interpreter zu.
  
-Grundsätzlich gibt es **drei** Varianten, wie die Kommunikation zwischen dem WEB-Server [[http://httpd.apache.org|Apache HTTP Server]] und dem [[http://php.net/|PHP]] raalisiert werden kann:+Grundsätzlich gibt es **drei** Varianten, wie die Kommunikation zwischen dem WEB-Server [[http://httpd.apache.org|Apache HTTP Server]] und dem [[http://php.net/|PHP]] realisiert werden kann:
   * **[[https://wiki.apache.org/httpd/php|mod_php]]** Die wohl am meist verbreitete PHP Implementierung innerhalb des [[http://httpd.apache.org|Apache HTTP Servers]].   * **[[https://wiki.apache.org/httpd/php|mod_php]]** Die wohl am meist verbreitete PHP Implementierung innerhalb des [[http://httpd.apache.org|Apache HTTP Servers]].
   * **[[https://wiki.apache.org/httpd/php-fastcgi|mod_fcgid]]** Alternativ zur Nutzung des PHP-Moduls **mod_php** kann auch **//CGI/FastCGI//** vom [[http://httpd.apache.org|Apache HTTP Server]] an eigens gestartete externen Prozess delegiert werden.   * **[[https://wiki.apache.org/httpd/php-fastcgi|mod_fcgid]]** Alternativ zur Nutzung des PHP-Moduls **mod_php** kann auch **//CGI/FastCGI//** vom [[http://httpd.apache.org|Apache HTTP Server]] an eigens gestartete externen Prozess delegiert werden.
   * **[[https://wiki.apache.org/httpd/PHP-FPM|php-fpm]]** Bei der dritten Variante mit Verwendung von **FPM/FastCGI** übergibt der  [[http://httpd.apache.org|Apache HTTP Server]] Anfragen an einen externen separat laufenden Dienstes/Daemon. Dadurch ergeben sich folgende (zusätzliche) Vorteile:   * **[[https://wiki.apache.org/httpd/PHP-FPM|php-fpm]]** Bei der dritten Variante mit Verwendung von **FPM/FastCGI** übergibt der  [[http://httpd.apache.org|Apache HTTP Server]] Anfragen an einen externen separat laufenden Dienstes/Daemon. Dadurch ergeben sich folgende (zusätzliche) Vorteile:
     * Die PHP Prozesse **müssen __nicht__** mehr zwingend in der gleichen Umgebung wie der Webserver laufen; bzw. im einfachsten Fall wird der PHP-FPMD-Daemon mit anderen User- und Gruppenrechten betrieben als der WEB-Server selbst.     * Die PHP Prozesse **müssen __nicht__** mehr zwingend in der gleichen Umgebung wie der Webserver laufen; bzw. im einfachsten Fall wird der PHP-FPMD-Daemon mit anderen User- und Gruppenrechten betrieben als der WEB-Server selbst.
-    * Die PHP-FPM Prozesse können unabhängig vom Webserver neu gestartet werden. Somit werden keinen ankommendne Clientprozesse des Apache-Webservers beim Neustart des PHP-FPM-Daemon getrennt und gehen somit __nicht__ verloren.+    * Die PHP-FPM Prozesse können unabhängig vom Webserver neu gestartet werden. Somit werden keinen ankommende Clientprozesse des Apache-Webservers beim Neustart des PHP-FPM-Daemon getrennt und gehen somit __nicht__ verloren.
     * Durch geschickte Konfiguration des PHP-FPM-Daemon können getrennte und unterschiedliche Pools definiert werden. Bei der Konfiguration dieser Pools kann definiert werden, mit welchen User- und Gruppenrechten der bzw. die Prozesse laufen sollen und bei Bedarf können die PHP-FPM-Prozesse auch in eigenen **//chroot//-Umgebungen** laufen. Auch können unterschiedliche PHP-Einstellungen mit Hilfe von getrennten **php.ini** Dateien festgelegt werden. Angesprochen werden diese Pools entweder über einen **[[https://de.wikipedia.org/wiki/POSIX_local_inter-process_communication_socket|UNIX Domain Socket]]** bzw. über unterschiedliche **[[https://de.wikipedia.org/wiki/Port_(Protokoll)|Ports]]**.     * Durch geschickte Konfiguration des PHP-FPM-Daemon können getrennte und unterschiedliche Pools definiert werden. Bei der Konfiguration dieser Pools kann definiert werden, mit welchen User- und Gruppenrechten der bzw. die Prozesse laufen sollen und bei Bedarf können die PHP-FPM-Prozesse auch in eigenen **//chroot//-Umgebungen** laufen. Auch können unterschiedliche PHP-Einstellungen mit Hilfe von getrennten **php.ini** Dateien festgelegt werden. Angesprochen werden diese Pools entweder über einen **[[https://de.wikipedia.org/wiki/POSIX_local_inter-process_communication_socket|UNIX Domain Socket]]** bzw. über unterschiedliche **[[https://de.wikipedia.org/wiki/Port_(Protokoll)|Ports]]**.
     * Nicht mehr benötigte PHP-FPM-Prozesse können automatisiert beendet werden, wenn diese nicht mehr benötigt werden sollten.     * Nicht mehr benötigte PHP-FPM-Prozesse können automatisiert beendet werden, wenn diese nicht mehr benötigt werden sollten.
Zeile 16: Zeile 16:
  
 ===== Installation ===== ===== Installation =====
-Die Installation des FastCGI Process Managers **[[https://php-fpm.org/|PHP-FPM]]** erfolgt mit Hilfe des Paketmanager Tools **YUM**. Verwendet man die Standard-PHP-Insallation unter **CentOS 7** ist das Paket **php-fpm** aus dem //**Base-Repository**// zu installieren.+Die Installation des FastCGI Process Managers **[[https://php-fpm.org/|PHP-FPM]]** erfolgt mit Hilfe des Paketmanager Tools **YUM**. Verwendet man die Standard-PHP-Installation unter **CentOS 7** ist das Paket **php-fpm** aus dem //**Base-Repository**// zu installieren.
    # yum install php-fpm -y     # yum install php-fpm -y 
  
Zeile 1487: Zeile 1487:
    # rm /srv/www/html/info.php    # rm /srv/www/html/info.php
  
 +Da die Datei **info.php** nur zu Demozwecken notwendig war, können wir dies nun auch wieder löschen.
 ==== PHP Info bei Verwendung von php-fpm ==== ==== PHP Info bei Verwendung von php-fpm ====
 Das zweite Beispiel zeigt die erfolgreiche Verwendung des alternativen //**FastCGI Prozess Managers**//: __FPM/FastCGI__.  Das zweite Beispiel zeigt die erfolgreiche Verwendung des alternativen //**FastCGI Prozess Managers**//: __FPM/FastCGI__. 
Zeile 1497: Zeile 1498:
 Da auch hier dies nur ein Demonstrationszweck war, entfernen wir auch hier wieder die zuvor angelegte Testdatei **info.php**. Da auch hier dies nur ein Demonstrationszweck war, entfernen wir auch hier wieder die zuvor angelegte Testdatei **info.php**.
    # rm /srv/www/html/info.php    # rm /srv/www/html/info.php
 +
 +====== Links ======
 +  * **[[centos:web_c7:start| ⇐ Zurück zu Kapitel "Webserverinstallation unter CentOS 7.x"]]**
 +  * **[[wiki:start|Zurück zu Projekte und Themenkapitel]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
 +
  
  • centos/web_c7/apache_4.1502139214.txt.gz
  • Zuletzt geändert: 07.08.2017 20:53.
  • von django