首頁 > 運維 > Nginx > 主體

怎麼升級nginx支援HTTP/2服務端推送

WBOY
發布: 2023-05-13 21:25:13
轉載
950 人瀏覽過

升級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, ; as=style; rel=preload
登入後複製

具體到wordpress,可以加上以下程式碼:

function add_http2_push_header() {
  $preload_resource_array = array(
    &#39;</index.js>; as=script; rel=preload&#39;,
    &#39;</index.css>; as=style; rel=preload&#39;
  );
  $preload_link_value = join( &#39;, &#39;, $preload_resource_array );

  header( &#39;link: &#39;.$preload_link_value ); 
}
add_action( &#39;send_headers&#39;, &#39;add_http2_push_header&#39; );
登入後複製

瀏覽器驗證

升級之前,不支援服務端推送。

怎麼升級nginx支援HTTP/2服務端推送

升級之後,支援服務端推送。

怎麼升級nginx支援HTTP/2服務端推送 

以上是怎麼升級nginx支援HTTP/2服務端推送的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板