索引
注:按照本文安装完毕后,博主这里出现了apache内存泄露的问题,正在处理中,请勿尝试。
更新:我更换了nginx,哈哈哈。更换方法参见下面引用的这篇文章。
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
# 更新吧!(经实测,已有配置不会丢失!更新完一切OK!) yum update httpd
更新完毕后可以看到,已经加载了mod_http2.so模块啦!这就是已经准备好支持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了。
其他记录
apache httpd在各种linux发行版本下的安装目录
官方文档:https://cwiki.apache.org/confluence/display/HTTPD/DistrosDefaultLayout
从这里面可以看到哪些发行版把apache httpd叫apache,哪些叫httpd
apache httpd 2.4新增的功能
其中就说到了mod_http2 (available since 2.4.17)。也就是2.4.17开始支持http/2。
原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2528