HTTP/2的推出主要是為了改善HTTP 1.1效能不佳的問題。當初Google為了提升HTTP效能,做出了SPDY,它是HTTP/2的前身,後來也發展成HTTP/2的標準。
在伺服器上啟用 HTTP/2 協議,需要先安裝 Nginx。並且確保功能正常且配置沒有錯誤。你可以使用下面的命令來檢查一下:
sudo nginx -t
此外,你需要有伺服器的root 存取權限,或者至少有一個具有sudo 權限的非root 系統用戶,以便你在修改Nginx 設定檔的時候不會出現權限問題。最終,您必須擁有一個網域名稱和一個為該網域頒發的有效 SSL 憑證。
為了在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 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中文網其他相關文章!