如何在 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 協議[1]。html

必備條件

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

sudo nginx -t

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

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

爲了在 Ubuntu VPS 上開啓 Nginx 的 HTTP/2 協議,你須要編輯默認的 Nginx 的服務(server)塊,咱們使用的是 nano,你可使用你本身的文本編輯器。apache

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

增長下面的服務塊:ubuntu

server {  
        server_name domain.com www.domain.com;
        listen 443 ssl http2 default_server;
        root /var/www/html;
        index index.html;

        location / {
                try_files $uri $uri/ =404;
        }

        ssl_certificate /etc/nginx/ssl/domain.com.crt;
        ssl_certificate_key /etc/nginx/ssl/domain.com.key;
}

server {
       listen         80;
       server_name    domain.com www.domain.com;
       return         301 https://$server_name$request_uri;
}

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

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

sudo nginx -t

爲了剛剛的改變生效,須要重啓 Nginx:服務器

sudo systemctl restart nginx.service

若是你想爲另外一個域名開啓 HTTP/2 協議,你能夠查看咱們的博客如何在 Ubuntu 和 CentOS 上設置 Nginx 服務塊[2]。網絡

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

爲了在 CentOS VPS 開啓 Nginx 的 HTTP/2 協議,你須要按照 Ubuntu 上徹底相同的步驟作。惟一的不一樣點是 Nginx 塊文件的位置。爲了在 CentOS 上編輯默認的 Nginx 服務塊,你須要進入 /etc/nginx/conf.d 這個文件夾。dom

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

再次檢查配置是否有錯誤,保存並關閉文件,而後使用如下命令從新啓動 Nginx 服務:

# systemctl restart nginx.service

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

閱讀原文

相關文章
相關標籤/搜索