本次首先得升级httpd,apache httpd 2.4.17开始才支持http2,但是我的机器目前是2.4.6。
不过不能使用yum这种包管理工具安装。
查看已有仓库中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.elrpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)
.repo
查看httpd版本,已经有新的啦!
yum info httpd
更新吧!(经实测,已有配置不会丢失!更新完一切OK!)
yum update httpd
更新完毕后可以看到,已经加载了mod_http2.so模块啦!这就是已经准备好支持http/2了!
配置http2
把这行配置加入/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发行版本下的安装目录
从这里面可以看到哪些发行版把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