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:54. ]
django [PHP Info bei Verwendung von mod_php]
centos:web_c7:apache_4 [20.04.2018 10:29. ] (aktuell)
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 1498: 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]]**
 +
 +~~AUTOTWEET:​~~
  
  • centos/web_c7/apache_4.txt
  • Zuletzt geändert: 20.04.2018 10:29.
  • (Externe Bearbeitung)