首頁 >運維 >Nginx >Nginx開啟HTTP/2配置,加速網站訪問

Nginx開啟HTTP/2配置,加速網站訪問

PHPz
PHPz原創
2023-07-04 09:29:112683瀏覽

Nginx開啟HTTP/2配置,加速網站存取

隨著網路的快速發展,網站存取速度對使用者體驗的重要性越來越高。為了提升網站的效能和加速存取速度,許多網站都採用了HTTP/2協定。而Nginx作為一個高效能的Web伺服器,也支援HTTP/2協議,並且配置起來非常方便。本文將介紹如何使用Nginx開啟HTTP/2配置,加速網站存取。

一、系統準備
首先,確保你已經安裝了Nginx並且版本號在1.9.5以上。如果你的Nginx版本較低,需要升級到最新版本。另外,你也需要一個域名,並配置好將該域名指向你的伺服器IP。

二、產生SSL憑證
HTTP/2協定要求使用加密連接,所以我們需要為網站產生一個SSL憑證。下面是一個使用Let's Encrypt免費SSL憑證的範例:

  1. #安裝certbot工具

    $ wget https://dl.eff.org/certbot-auto
    $ chmod +x certbot-auto
  2. 產生憑證

    #
    $ ./certbot-auto certonly --webroot -w /var/www/html -d yourdomain.com

    這裡需要將yourdomain.com替換為你的網域。

  3. 憑證產生成功後,你可以在/etc/letsencrypt/live/yourdomain.com/目錄下找到憑證檔案。

三、設定Nginx開啟HTTP/2

  1. #開啟Nginx設定檔

    $ nano /etc/nginx/nginx.conf
  2. 找到下列程式碼,將listenssl_certificate配置項目根據實際情況修改,並新增ssl_protocolsssl_ciphers設定項:

    server {
        listen 443 ssl http2;
        server_name yourdomain.com;
        root /path/to/your/website;
        index index.html;
    
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    
        ssl_protocols TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES25';
    
        location / {
            try_files $uri $uri/ =404;
        }
    }

    這裡需要將yourdomain.com替換為你的域名,並將/path/to/your/website替換為你網站的實際路徑。

  3. 儲存並退出設定檔。

四、重新啟動Nginx
完成以上設定後,重新啟動Nginx使其生效:

$ systemctl restart nginx

五、測試HTTP/2
為了確保HTTP/2已經成功啟用,可以透過存取HTTPS的網址來測試。

在瀏覽器中輸入https://yourdomain.com,在開啟的網頁中點選右鍵選擇「檢查」(或按F12開啟控制台),選擇「Network」選項卡,然後刷新頁面。在Protocol列中應該顯示為h2,表示該頁面正在透過HTTP/2協定載入。

六、總結
透過以上簡單的步驟,我們就成功地設定了Nginx開啟HTTP/2,加速了網站的存取速度。 HTTP/2協定透過多工技術和頭部壓縮等機制,有效提升了網頁的載入速度,提供了更好的使用者體驗。如果你的網站還沒有開啟HTTP/2,不妨嘗試以上設定方法,提供使用者更快速的存取體驗。

以上是Nginx開啟HTTP/2配置,加速網站訪問的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn