Apache/Apache+HTTP2+PHP-FPM+TLS1.3: Unterschied zwischen den Versionen
Rkr (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Rkr (Diskussion | Beiträge) K (→PHP-FPM) |
||
Zeile 34: | Zeile 34: | ||
*Prozesse laufen als ''wwwrun'': | *Prozesse laufen als ''wwwrun'': | ||
ps -ef|grep php-fpm | ps -ef|grep php-fpm | ||
wwwrun 7295 22565 1 07:43 ? 00:00:08 php-fpm: pool www | |||
wwwrun 9294 22565 2 07:51 ? 00:00:00 php-fpm: pool www | |||
wwwrun 9406 22565 1 07:51 ? 00:00:00 php-fpm: pool www | |||
root 22565 1 0 Nov10 ? 00:00:05 php-fpm: master process (/etc/php7/fpm/php-fpm.conf) | |||
*Socket-Datei (Rechte): | *Socket-Datei (Rechte): | ||
ls -la /run/php-fpm/php-fpm.sock | ls -la /run/php-fpm/php-fpm.sock | ||
srw-rw---- 1 wwwrun www 0 10. Nov 15:47 /run/php-fpm/php-fpm.sock | srw-rw---- 1 wwwrun www 0 10. Nov 15:47 /run/php-fpm/php-fpm.sock | ||
*Für TCP: | *Für TCP: |
Version vom 11. November 2020, 06:54 Uhr
Diese Seite beschreibt, wie man Apache so einrichtet, dass es HTTP/2 beherrscht. Dabei wird gleich auch TLS 1.3 und für PHP-Anwendungen PHP-FPM eingerichtet. Die Beispiele sind unter openSUSE entstanden.
Info zu HTTP/2
PHP-FPM
PHP-FPM wird benötigt, da Apache für HTTP/2 nicht im Prefork-Modus laufen kann, sondern ein anderes Multi-Processing-Modul wie "event" verwendet werden muss (siehe unten). Das Standard-PHP-Modul für Apache funktioniert jedoch nicht mehr mit "event", so dass für PHP-Anwendungen eine andere Lösung implementiert werden muss. PHP-FPM läuft als eigenständiger Dienst und kann sowohl per TCP als auch per Unix Socket angesprochen werden.
Info
Konfiguration
Datei /etc/php7/fpm/php-fpm.conf: Default-Datei kann verwendet werden.
Datei /etc/php7/fpm/php-fpm.d/www.conf (Erste Variante für TCP, zweite für Unix Socket - geht aber nicht parallel):
user = wwwrun
group = www
listen = 127.0.0.1:9000
listen = /run/php-fpm/php-fpm.sock
listen.owner = wwwrun
listen.group = www
listen.mode = 0660
Dienst einrichten und starten
systemctl enable php-fpm systemctl start php-fpm
Prüfen:
- Prozesse laufen als wwwrun:
ps -ef|grep php-fpm
wwwrun 7295 22565 1 07:43 ? 00:00:08 php-fpm: pool www wwwrun 9294 22565 2 07:51 ? 00:00:00 php-fpm: pool www wwwrun 9406 22565 1 07:51 ? 00:00:00 php-fpm: pool www root 22565 1 0 Nov10 ? 00:00:05 php-fpm: master process (/etc/php7/fpm/php-fpm.conf)
- Socket-Datei (Rechte):
ls -la /run/php-fpm/php-fpm.sock
srw-rw---- 1 wwwrun www 0 10. Nov 15:47 /run/php-fpm/php-fpm.sock
- Für TCP:
netstat -an|grep 9000
Fallstricke
- php.ini einbinden
- AppArmor
Apache
Info
- Apache HTTP Server unterstützt HTTP/2
- Apache HTTP/2 Modul mod_http2
- Apache HTTP/2 guide / HowTo
- how to h2 in apache
- How to enable HTTP/2 support in Apache