Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:apache_http_server_centos_7_-_php-fpm_-_alternativer_php-interpreter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:apache_http_server_centos_7_-_php-fpm_-_alternativer_php-interpreter [2016/12/23 07:48] – [Apache HTTP Server CentOS 7 - php-fpm - Alternativer PHP-Interpreter] klaustachtler:apache_http_server_centos_7_-_php-fpm_-_alternativer_php-interpreter [2020/01/26 06:46] (aktuell) – [/ect/php.ini] klaus
Zeile 13: Zeile 13:
  
 Nachfolgend soll die Variante **''php-fpm''** genutzt werden! Nachfolgend soll die Variante **''php-fpm''** genutzt werden!
- 
-**__Vorteile von  
-[[https://php-fpm.org/|PHP-FPM]]__** 
- 
-  - PHP Prozesse **müssen __nicht__** in der gleichen Umgebung, mit dem gleichen User- und der gleichen GruppenID, wie der Webserver laufen. 
-  - Es ist **möglich** die PHP Prozesse neu zu starten, **__ohne__** ankommende "Requests" zu verlieren. 
-  - In der [[https://php-fpm.org/|PHP-FPM]-Konfiguration kann man verschiedene Prozess Pools definieren. Für jeden Pool kann man definieren, mit welchen Rechten die Prozesse laufen, man kann die Prozesse sogar in ein Chroot einsperren oder sie mit einer anderen ''php.ini'' starten.  
-  - Jeder Prozesspool lauscht auf einem eigenen Port oder einem Unix Domain Socket, so ist es möglich in einem Webserver zu Konfigurieren wohin die "Requests" gestellt werden sollen. 
-  - Es können PHP Prozesse neu gestartet werden, ohne "Requests" zu verlieren. Auch können PHP Prozesse nach Zeit N automatisch terminiert werden. 
-  - Ein Möglichkeit ist die Nutzung der Konfigurationsvariable ''request_slowlog_timeout''. Braucht ein "Request" länger als definiert, wird automatisch ein "Backtrace" des "Requests" in ein LOG-Datei geschrieben. 
-  - [[https://php-fpm.org/|PHP-FPM] ist seit der PHP **Version 5.3.3** fest in PHP integriert. 
  
 Ab hier werden ''root''-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um ''root'' zu werden geben Sie bitte folgenden Befehl ein: Ab hier werden ''root''-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um ''root'' zu werden geben Sie bitte folgenden Befehl ein:
Zeile 30: Zeile 19:
 Password:  Password: 
 </code> </code>
 +
 +===== Vorteile von PHP-FPM =====
 +
 +Nachfolgende Vorteile besitzt [[https://php-fpm.org/|PHP-FPM]] gegenüber den anderen Möglichkeiten, PHP im Webserver einzubinden:
 +
 +  - PHP Prozesse **müssen __nicht__** in der gleichen Umgebung, mit dem gleichen User- und der gleichen GruppenID, wie der Webserver laufen.
 +  - Es ist **möglich** die PHP Prozesse neu zu starten, **__ohne__** ankommende "Requests" zu verlieren.
 +  - In der [[https://php-fpm.org/|PHP-FPM]]-Konfiguration kann man verschiedene Prozess Pools definieren. Für jeden Pool kann man definieren, mit welchen **Rechten die Prozesse laufen**, man kann die **Prozesse sogar in ein Chroot** einsperren oder sie mit einer anderen ''php.ini'' starten. 
 +  - Jeder Prozesspool lauscht auf einem eigenen Port oder einem Unix Domain Socket, so ist es möglich in einem Webserver zu Konfigurieren wohin die "Requests" gestellt werden sollen.
 +  - Es können **PHP Prozesse neu gestartet werden, ohne "Requests" zu verlieren**. Auch können PHP Prozesse nach Zeit N automatisch terminiert werden.
 +  - Ein Möglichkeit ist die Nutzung der Konfigurationsvariable ''request_slowlog_timeout''. Braucht ein "Request" länger als definiert, wird automatisch ein "Backtrace" des "Requests" in ein LOG-Datei geschrieben.
 +  - [[https://php-fpm.org/|PHP-FPM]] ist seit der PHP **Version 5.3.3** fest in PHP integriert.
 +  - Der **Austausch der PHP-Version** ist einfacher möglich, als dies bei der Nutzung von **''mod_php''** möglich wäre.
 +  - **Bessere Performance** gegenüber z.B. **''mod_php''**
 +  - :!: **Der größte Vorteile ist, die Nutzung des [[http://httpd.apache.org|Apache HTTP Server]] im __''event''__-Modus, anstelle im ''prefork''-Modus !!!** :!:
  
 ===== Installation ===== ===== Installation =====
Zeile 923: Zeile 927:
  
 </code>  </code> 
 +
 +==== /ect/php.ini ==== 
 +
 +Die Hauptkonfigurationsdatei von [[https://www.php.net/|PHP]] - ''php.net'' sollte **__mindestens__** nachfolgende Änderungen erfahren:
 +
 +:!: **HINWEIS** - **Welche ''php.ini'' geladen wird, kann mit nachfolgendem Befehl ermittelt werden:**
 +<code>
 +# php -i | grep "Loaded Configuration File"
 +</code>
 +
 +(**Nur relevante Ausschnitte**)
 +<code php>
 +; Tachtler
 +; default: zlib.output_compression = Off
 +zlib.output_compression = On
 +</code>
 +<code php>
 +; Tachtler
 +; default: expose_php = On
 +expose_php = Off
 +</code>
 +<code php>
 +; Tachtler
 +; default: ;date.timezone =
 +date.timezone = "Europe/Berlin"
 +</code>
  
 ===== Status-Abfrage ===== ===== Status-Abfrage =====
tachtler/apache_http_server_centos_7_-_php-fpm_-_alternativer_php-interpreter.1482475719.txt.gz · Zuletzt geändert: 2016/12/23 07:48 von klaus