小知识:升级nginx支持HTTP/2服务端推送的方法

内容概览

NGINX从1.13.9版本开始支持HTTP/2服务端推送,上周找时间升级了下NGINX,在博客上试验新的特性。

升级工作主要包括:

升级NGINX 修改NGINX配置 修改wordpress主题

升级NGINX到1.14.0

1、配置nginx官方的yum源。创建配置文件 /etc/yum.repos.d/nginx.repo ,写入如下内容

?
1
2
3
4
5
[nginx]
name=nginx repo
gpgcheck=0
enabled=1

2、更新nginx

?
1
yum update

3、重启nginx

?
1
systemctl restart nginx

4、验证nginx版本

?
1
2
3
$ curl -I 127.0.0.1
HTTP/1.1 301 Moved Permanently
Server: nginx/1.14.0

修改NGINX配置

在原有的配置上,加上 http2_push_preload on; 。当nginx检测到 link 响应首部时,会主动往客户端推送资源。

?
1
2
3
4
location ~ \.php$ {
# …省略其他配置
http2_push_preload on; # 加上这行
}

修改WordPress主题

NGINX的 http2_push_preload 需要应用服务的配合。比如我要主动推送 index.js 这个文件,那么需要加上如下响应首部:

?
1
link: </index.js>; as=script; rel=preload

也可以同时推送多个文件,比如:

?
1
link: </index.js>; as=script; rel=preload, </index.css>; as=style; rel=preload

具体到WordPress,可以加上如下代码:

?
1
2
3
4
5
6
7
8
9
10
function add_http2_push_header() {
$preload_resource_array = array(
</index.js>; as=script; rel=preload,
</index.css>; as=style; rel=preload
);
$preload_link_value = join( , , $preload_resource_array );
header( link: .$preload_link_value );
}
add_action( send_headers, add_http2_push_header );

浏览器验证

升级之前,不支持服务端推送。

%小知识:升级nginx支持HTTP/2服务端推送的方法-猿站网-插图

升级之后,支持服务端推送。

%小知识:升级nginx支持HTTP/2服务端推送的方法-1猿站网-插图

相关链接

https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#prebuilt_redhat

https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/

http://nginx.org/en/docs/http/ngx_http_v2_module.html#http2_push_preload

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.chyingp.com/posts/upgrade-nginx-to-support-http2-server-push/

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux netstat命令大全详解

2023-4-18 3:42:44

建站知识

小知识:详解linux grep命令

2023-4-18 3:51:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索