php开启http2,ubuntu 18.04 Apache2启用HTTP/2

HTTP/2 可以让我们的应用更快、更简单、更稳定 – 这几词凑到一块是很罕见的!HTTP/2 将很多以前我们在应用中针对 HTTP/1.1 想出来的“歪招儿”一笔勾销,把解决那些问题的方案内置在了传输层中。不仅如此,它还为我们进一步优化应用和提升性能提供了全新的机会!

——《Web 性能权威指南》

Ubuntu18.04 官方源已经包含带有HTTP2模块的 Apache/2.4.29 ,所以我们可以很简单的启用 HTTP2。

$ sudo a2enmod http2

1

$sudoa2enmodhttp2

首先启用 http2 模块,然后在虚拟主机的配置文件中或者在Apache2的全局配置文件中加入:

/etc/apache2/sites-enabled/default-ssl.conf

Vim

Protocols h2 http/1.1

1

Protocolsh2http/1.1

当客户端支持时优先使用 HTTP2 ,其次是 http/1.1,表明了一种优先顺序。目前为止就已经启用完成了,但如果你是使用的 Apache2+PHP 架构的应用程序,由于 mpm_prefork 模块不支持 mod_http2,所以我们需要切换 mpm_prefork、mod_php 到 mpm_event 和 php-fpm 来解决这个问题。

# Install php-fpm and enable

$ sudo apt install php-fpm

$ sudo systemctl enable php7.2-fpm

# To enable PHP 7.2 FPM in Apache2

$ sudo a2enmod proxy_fcgi setenvif

$ sudo a2enconf php7.2-fpm

# First to disable PHP 7.2/ mpm_prefork to avoid conflicts,then enable.

$ sudo a2dismod php7.2 mpm_prefork

$ sudo a2enmod mpm_event

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# Install php-fpm and enable

$sudoaptinstallphp-fpm

$sudosystemctlenablephp7.2-fpm

# To enable PHP 7.2 FPM in Apache2

$sudoa2enmodproxy_fcgisetenvif

$sudoa2enconfphp7.2-fpm

# First to disable PHP 7.2/ mpm_prefork to avoid conflicts,then enable.

$sudoa2dismodphp7.2mpm_prefork

$sudoa2enmodmpm_event

最后使用 Firefox 的开发者工具测试一下:

c3677db0d3e87551be8726eb32abe7b3.png

OK, 大功告成。

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值