【每日阅读】2020年10月4日-centos7升级apache httpd到最新版本以开启http/2

http2优点简述

压缩header、二进制流、多路复用、server push

https://blog.fundebug.com/2019/03/07/understand-http2-and-http3/

首先,升级httpd

本次首先得升级httpd,apache httpd 2.4.17开始才支持http2,但是我的机器目前是2.4.6。

不过不能使用yum这种包管理工具安装。

为什么?

因为我用的centos7.8,他娘的目前最新版本是2.4.6!而官网最新的已经是2.4.46了!

# 查看已有仓库中httpd的最新版本
yum info httpd

A.编译安装?

太难了,我放弃了这种方案。

这个方案要求对httpd的编译参数有一定了解,不了解的话随便编译,肯定一大堆问题啊。我看了好几个小时,最终选择下面这个B方案了,使用别人编译好的版本!

现在用着也没什么问题,一切OK。

B.从CodeIT源安装

# EPEL提供了CodeIT库需要的依赖(我执行时,系统显示已经安装了)
sudo yum install -y epel-release
​
# 安装CodeIT仓库
# 这个命令会下载符合你系统版本的仓库文件到/etc/yum.repos.d,例如我的下载了codeit.el7.repo
cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el`rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)`.repo
​
# 查看httpd版本,已经有新的啦!
yum info httpd
image-20201005005844836
# 更新吧!(经实测,已有配置不会丢失!更新完一切OK!)
yum update httpd

更新完毕后可以看到,已经加载了mod_http2.so模块啦!这就是已经准备好支持http/2了!

【每日阅读】2020年10月4日-centos7升级apache httpd到最新版本以开启http/2

配置http2

这个配置可参考官方文档:https://httpd.apache.org/docs/2.4/howto/http2.html#basic-config

# 把这行配置加入/etc/httpd/conf/httpd.conf最下方(随便哪,挑个地方就行)
# h2是https的http/2,h2c是http的http/2
Protocols h2 h2c http/1.1

配置好之后,重启httpd服务器。

sudo systemctl restart httpd

再访问网页,已经是http2了。

【每日阅读】2020年10月4日-centos7升级apache httpd到最新版本以开启http/2

其他记录

apache httpd在各种linux发行版本下的安装目录

官方文档:https://cwiki.apache.org/confluence/display/HTTPD/DistrosDefaultLayout

从这里面可以看到哪些发行版把apache httpd叫apache,哪些叫httpd

apache httpd 2.4新增的功能

官方文档:http://httpd.apache.org/docs/2.4/new_features_2_4.html

其中就说到了mod_http2 (available since 2.4.17)。也就是2.4.17开始支持http/2。

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2528

(0)
geekgaogeekgao博主
上一篇 2020年10月3日 下午10:19
下一篇 2020年10月6日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

GitHub
分享本页
返回顶部

Warning: error_log(/usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/#log/log-2303.txt): failed to open stream: No such file or directory in /usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/spider.class.php on line 2900