HTTP/2
协议于2015年5月正式版发布,HTTP/2
大幅度的提高了web性能,在HTTP/1.1
完全语意兼容的基础上,进一步减少了网络的延迟。实现低延迟高吞吐量。本文就讲讲在Linux
中Nginx
配置HTTP2
的方法和步骤。
1、HTTP2科普
HTTP2
基于spdy
的思路,引入流与帧的概念,继承了spdy
的多路复用,在此基础上开发的。
spdy协议: spdy在五层协议栈的TCP层与HTTP层引入了一个新的逻辑层以提高效率。spdy是一个中间层,对TCP层与HTTP层有很好的兼容,不需要修改HTTP层即可改善应用数据传输速度。 spdy通过多路复用技术,使客户端与服务器只需要保持一条链接即可并发多次数据交互,提高了通信效率。
1-1、HTTP2优点:
- 二进制分帧
- 首部压缩
- 流量控制
- 多路复用
- 请求优先级
- 服务器推送
2、前提条件
- 网站必须开启
HTTPS
openssl
的版本必须 ≥1.0.2e
nginx
的版本必须 ≥1.9.5
3、安装 & 配置
目录介绍:
- nginx安装目录:/usr/local/nginx/
- nginx源码目录:/root/dev/nginx-1.20.1/
3-1.查看nginx版本信息
这里的nginx
配置了全局环境变量,可以直接输入以下命令,nginx具体路径/位置根据个人配置来决定。
1 | nginx -V |
输出:
1 | nginx version: nginx/1.20.1 |
查看configure
中是否安装了with-http_v2_module
模块,这里的已经安装了。若没有则进行下一步。
3-2.安装with-http_v2_module
模块
3-2-1. 进入nginx源码
目录,一般结构如下:
1 | auto |
3-2-2. 配置with-http_v2_module
模块,--prefix
指向nginx安装目录
1 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module |
3-2-3. 编译,注意: 如果是首次安装nginx,还需要在编译完成后执行make install
安装操作。如果之前已经安装了nginx,并且配置了相关服务,就不要再执行make install
安装操作了,否则会覆盖原来的安装。
1 | make |
3-2-4. 编译执行成功后,会在nginx源码目录
生成objs
文件夹,此目录有一个nginx二进制文件,需要把这个nginx可执行文件复制到nginx安装目录
。建议把旧文件先备份,方便回滚。
1 | # 备份旧的nginx |
3-2-5. 检查模块是否添加成功,若configure arguments
中包含--with-http_v2_module
模块说明已经添加成功
1 | /usr/local/nginx/sbin/nginx -V |
3-3.配置 nginx.conf
1 | server { |
3-4.重启nginx
1 | # 检查配置 |
4、检查网站HTTP2协议是否开启
具体方法详见本站另一篇博文:HTTP协议版本检测
Nginx 相关推荐
- Nginx学习与实战 · 配置HTTP2
- Nginx学习与实战 · 解决SPA单页面应用CDN缓存问题
- Nginx学习与实战 · 解决net::ERR_CONTENT_LENGTH_MISMATCH 206问题
- Nginx warn:conflicting server name ‘127.0.0.1’ on 0.0.0.0:8010, ignored
- Nginx反向代理WebSocket服务连接报错:WebSocket connection to ‘wss://xxx/xxx’ failed
欢迎访问:天问博客
发布时间: 2021-11-03
最后更新: 2023-03-02
本文标题: Nginx学习与实战 · 配置HTTP2
本文链接: https://www.tiven.cn/p/1612b5cd/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!