如何在 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 。並且確保功能正常而且配置沒有錯誤。你可以使用下面的命令來檢查一下:
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
替換成你真正的域名。 此外,應正確設置文檔根(root
)目錄,還有 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
為了檢測 Nginx 的 HTTP/2 協議是否開啟成功,你可以使用一些在線 HTTP/2 檢測工具。
via: https://www.rosehosting.com/blog/how-to-enable-http2-in-nginx-on-ubuntu-and-centos/
作者:rosehosting.com 譯者:Flowsnow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive