閱讀206 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如何在 Ubuntu 和 CentOS 上啟用 Nginx 的 HTTP/2 協議支持

HTTP/2 是 HTTP 網絡協議的主要修訂版本,其專注於 HTTP 協議的性能改進。HTTP/2 協議的目標是減少延遲,並且允許在 Web 瀏覽器和服務器之間的一個連接上並行發起多個請求,因此 Web 應用程序會更快。在本篇教程中,我們將像你展示如何在安裝有 Ubuntu 或 CentOS 作為操作係統的 Linux VPS 上使用開啟 Nginx 的 HTTP/2 協議。如果你使用 Apache,你可以查看我們的另一篇教程:如何在 Ubuntu 上開啟 Apache 的 HTTP/2 協議

必備條件

為了能夠按照本篇教程最終在服務器上啟用 HTTP/2 協議,你需要先安裝好 Nginx 。並且確保功能正常而且配置沒有錯誤。你可以使用下麵的命令來檢查一下:


  1. sudo nginx -t

此外,你需要有服務器的 root 訪問權限,或者至少有一個具有 sudo 權限的非 root 係統用戶,以便你在修改 Nginx 配置文件的時候不會出現權限問題。最後你需要有一個域名和一個頒發給這個域名的有效的 SSL 證書。

在 Ubuntu 上開啟 Nginx 的 HTTP/2 協議

為了在 Ubuntu VPS 上開啟 Nginx 的 HTTP/2 協議,你需要編輯默認的 Nginx 的服務(server)塊,我們使用的是 nano,你可以使用你自己的文本編輯器。


  1. sudo nano /etc/nginx/sites-available/default

增加下麵的服務塊:


  1. server {
  2. server_name domain.com www.domain.com;
  3. listen 443 ssl http2 default_server;
  4. root /var/www/html;
  5. index index.html;
  6. location / {
  7. try_files $uri $uri/ =404;
  8. }
  9. ssl_certificate /etc/nginx/ssl/domain.com.crt;
  10. ssl_certificate_key /etc/nginx/ssl/domain.com.key;
  11. }
  12. server {
  13. listen 80;
  14. server_name domain.com www.domain.com;
  15. return 301 https://$server_name$request_uri;
  16. }

確保 domain.com 替換成你真正的域名。 此外,應正確設置文檔根(root)目錄,還有 SSL 證書和密鑰的路徑。

當你編輯完成這個服務塊之後,需要保存並關閉文件。使用以下命令檢查 Nginx 配置是否有錯誤:


  1. sudo nginx -t

為了剛剛的改變生效,需要重啟 Nginx:


  1. sudo systemctl restart nginx.service

如果你想為另一個域名開啟 HTTP/2 協議,你可以查看我們的博客如何在 Ubuntu 和 CentOS 上設置 Nginx 服務塊

在 CentOS 上開啟 Nginx 的 HTTP/2 協議

為了在 CentOS VPS 開啟 Nginx 的 HTTP/2 協議,你需要按照 Ubuntu 上完全相同的步驟做。唯一的不同點是 Nginx 塊文件的位置。為了在 CentOS 上編輯默認的 Nginx 服務塊,你需要進入 /etc/nginx/conf.d 這個文件夾。


  1. # nano /etc/nginx/conf.d/default.conf

再次檢查配置是否有錯誤,保存並關閉文件,然後使用以下命令重新啟動 Nginx 服務:


  1. # systemctl restart nginx.service

為了檢測 Nginx 的 HTTP/2 協議是否開啟成功,你可以使用一些在線 HTTP/2 檢測工具

原文發布時間為:2017-02-28

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-25 17:02:13

  上一篇:go  在 CentOS 7 中使用 Sendmail 通過 PHP 發送郵件
  下一篇:go  3A腦營養:提高記憶力的利器!