首頁  >  文章  >  運維  >  Linux上如何啟用Nginx的HTTP/2

Linux上如何啟用Nginx的HTTP/2

WBOY
WBOY轉載
2023-05-17 12:34:561442瀏覽

HTTP/2的推出主要是為了改善HTTP 1.1效能不佳的問題。當初Google為了提升HTTP效能,做出了SPDY,它是HTTP/2的前身,後來也發展成HTTP/2的標準。

Linux上如何啟用Nginx的HTTP/2

必備條件

在伺服器上啟用 HTTP/2 協議,需要先安裝 Nginx。並且確保功能正常且配置沒有錯誤。你可以使用下面的命令來檢查一下:

sudo nginx -t

此外,你需要有伺服器的root 存取權限,或者至少有一個具有sudo 權限的非root 系統用戶,以便你在修改Nginx 設定檔的時候不會出現權限問題。最終,您必須擁有一個網域名稱和一個為該網域頒發的有效 SSL 憑證。

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

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

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

增加下面的服務區塊:

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替換成你真正的網域。除此之外,還需確保正確配置文檔根目錄及 SSL 憑證和金鑰路徑。當你編輯完成這個服務塊之後,需要儲存並關閉文件。使用以下命令檢查Nginx 設定是否有錯誤:

sudo nginx -t

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

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這個資料夾。

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

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

# systemctl restart nginx.service

使用線上HTTP/2檢測工具可以檢驗Nginx的HTTP/2協議是否成功開啟。

以上是Linux上如何啟用Nginx的HTTP/2的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除