Webserver Apache 2 (Ab Version 2.4)¶
FastCGI Process Manager¶
Um PHP deutlich zu beschleunigen kann der Prozessmanager FPM
eingesetzt werden. So gehts mit einem bereits funktionierenden Apache:
- Installation der notwendigen Pakete
libapache2-mod-fastcgi php-fpm
- Überprüfen von
php-fpm
:
root@r-t-w ~ # systemctl status php?.?-fpm.service
● php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-03-29 11:51:23 CEST; 4 days ago
Docs: man:php-fpm7.3(8)
Main PID: 16728 (php-fpm7.3)
Status: "Processes active: 0, idle: 3, Requests: 64767, slow: 0, Traffic: 0.2req/sec"
Tasks: 4 (limit: 4915)
Memory: 2.5G
CGroup: /system.slice/php7.3-fpm.service
├─ 3390 php-fpm: pool www
├─ 3409 php-fpm: pool www
├─ 3594 php-fpm: pool www
└─16728 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
Mar 29 11:51:23 r-t-w systemd[1]: Starting The PHP 7.3 FastCGI Process Manager...
Mar 29 11:51:23 r-t-w systemd[1]: Started The PHP 7.3 FastCGI Process Manager.
Obacht!
Der Dienst ist nach der Installation nicht enabled
! Außerdem muss bei Änderungen an der PHP-Konfiguration nun ebenfalls der Prozessmanager neu geladen oder gestartet werden
- Optional: Deaktivieren des Single-Thread Multiprozessingmoduls:
a2dismod mpm_prefork
- Optional: Aktivieren des Multi-Thread Multiprozessingmoduls:
a2enmod mpm_event
Tip
Das Ändern des Multiprozessverhalten des Apachen ist nicht zwingend notwendig, aber äußerst empfehlenswert. Der Parent Thread des Moduls mpm_event
spawnt falls notwendig mehr Child-Threads. Das aus kompatibilitätsgründen standardmäßig aktivierte mpm_event
verwendet maximal einen Thread.
- Aktivieren des notwendigen Apache-Moduls:
a2enmod proxy_fcgi
- Aktivieren der notwendigen Override-Konfiguration:
a2enconf php?.?-fpm
- Apache neustarten
Achtung!
Da FPM eine eigene PHP-Umgebungsdatei verwendet als Apache müssen etwaige Einstellungen (Speziell Module!) erneut in der entsprechenden php.ini
aktiviert und konfiguriert werden.