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

转载  更新时间:2018年05月29日 14:42:22   作者:程序猿小卡的博客   我要评论

这篇文章主要介绍了升级nginx支持HTTP/2服务端推送的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

内容概览

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

升级工作主要包括:

  1. 升级NGINX
  2. 修改NGINX配置
  3. 修改wordpress主题

升级NGINX到1.14.0

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

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

2、更新nginx

yum update

3、重启nginx

systemctl restart nginx

4、验证nginx版本

$ curl -I 127.0.0.1
HTTP/1.1 301 Moved Permanently
Server: nginx/1.14.0

修改NGINX配置

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

location ~ \.php$ {
  # ...省略其他配置
  http2_push_preload on; # 加上这行
}

修改WordPress主题

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

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

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

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

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

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' );

浏览器验证

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

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

 

相关链接

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

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

相关文章

  • nginx重写rewrite基础及实例分享

    nginx重写rewrite基础及实例分享

    这篇文章主要介绍了nginx重写rewrite基础及实例分享,需要的朋友可以参考下
    2016-04-04
  • 详解阿里云nginx服务器多站点的配置

    详解阿里云nginx服务器多站点的配置

    本篇文章主要介绍了阿里云nginx服务器多站点的配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 一个等号引发的血案(谈Nginx正确的404配置)

    一个等号引发的血案(谈Nginx正确的404配置)

    这篇文章主要介绍了Nginx正确的404配置方法,本文根据实际案例总结而来,可以说是一个等号引发的血案!需要的朋友可以参考下
    2014-08-08
  • 简介Nginx中的location匹配规则

    简介Nginx中的location匹配规则

    这篇文章主要介绍了简介Nginx中的location匹配规则,Nginx是一个高速的基于事务的非阻塞服务器,需要的朋友可以参考下
    2015-07-07
  • 利用nginx解决跨域问题的方法(以flask为例)

    利用nginx解决跨域问题的方法(以flask为例)

    这篇文章主要介绍了利用nginx解决跨域问题的方法,文中以flask为例给大家介绍的很详细,需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02
  • Linux Nginx下SSL证书安装方法及WordPress CDN配置

    Linux Nginx下SSL证书安装方法及WordPress CDN配置

    这篇文章主要介绍了Linux Nginx下SSL证书安装方法及WordPress CDN配置,需要的朋友可以参考下
    2017-08-08
  • Nginx一个IP如何配置多个站点的方法教程

    Nginx一个IP如何配置多个站点的方法教程

    这篇文章主要给大家介绍了关于Nginx一个IP如何配置多个站点的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • nginx限速之连接数限制技巧分享

    nginx限速之连接数限制技巧分享

    通过查看Nginx的并发连接,我们可以更清除的知道网站的负载情况。下面这篇文章主要给大家介绍了关于nginx限速之连接数限制技巧的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-01-01
  • 详解Nginx启用proxy_buffer缓冲

    详解Nginx启用proxy_buffer缓冲

    本篇文章主要介绍了Nginx启用proxy_buffer缓冲,Nginx启用proxy_buffer缓冲,本文详细的介绍了基本用法,具有一定的参考价值,有兴趣的可以了解一下
    2018-01-01
  • nginx的FastDFS分布式存储模块测试方法

    nginx的FastDFS分布式存储模块测试方法

    很长时间没有关注FastDFS了,第一次使用FastDFS 是在 08年的时候11月的时候,那个时候是为了解决公司的数据存储~那时候可能是对Fastdfs了解不深,功能还不算太健全,最后选择了lustre。
    2010-12-12

最新评论