在Ubuntu 23.04系统中,使用Apache/2.4.55和php 8.1.12来实现与HTTP/2的兼容
首先要理解的是,Ubuntu的Apache默认配置中的“prefork”MPM(多进程模块)不支持HTTP/2。
路径:/etc/apache2/mods-enabled/mpm_prefork.load
因此,您需要不仅简单地配置HTTP/2,还需要将”prefork” MPM模块切换到另一个模块。
以下是全部步骤。
安装适用于FPM版本的PHP。
由于默认的PHP依赖于prefork模块,我们将切换到FPM版本的PHP。
sudo apt install php8.1-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo a2dismod php8.1
sudo service apache2 restart
将prefork模块切换到event模块。
切换prefork模块为event模块。
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo service apache2 restart
sudo service php8.1-fpm restart
设置HTTP/2
将以下内容添加到/etc/apache2/apache2.conf文件中。
Protocols h2 h2c http/1.1
将 http2 模块打开
打开http2模块。
sudo a2enmod http2
sudo service apache2 restart
以上。您辛苦了。