如何啟用 Nginx Sendfile 指令

NGINX 中的 Sendfile 指令是一項強大的功能,可透過實現高效的資料處理、減少伺服器負載和支援可擴展配置來顯著增強伺服器效能。透過利用該指令,NGINX 可以直接將資料從檔案系統傳輸到網路套接字,繞過用戶空間並最大限度地減少 CPU 使用率。這可以提高檔案傳輸速度並提高整體效能,使其成為高流量網站和應用程式的重要優化。

以下指南將示範如何在 Linux 或類別 Unix 系統上使用命令列介面 (CLI) 命令在 NGINX 中啟用 Sendfile 指令。透過執行這些步驟,您可以確保伺服器更有效地處理資料、減少負載並有效擴展以滿足效能需求。

在 Nginx 中啟用 Sendfile 指令

驗證 Sendfile 的核心支持

在實作 Nginx Sendfile 指令之前,確認您的系統核心是否支援 sendfile 系統呼叫至關重要。儘管此功能很常見,但驗證是一個很好的做法。

執行以下命令檢查 sendfile 支援:

grep SENDFILE /boot/config-$(uname -r)

積極的確認如下:

CONFIG_SENDFILE=y

在 NGINX 中啟動 Sendfile

若要啟用 Sendfile 功能,請存取 NGINX 設定檔。該文件通常位於 /etc/nginx/nginx.conf.

為此,請使用 Nano 或 Vim 等命令列文字編輯器:

sudo nano /etc/nginx/nginx.conf

在此檔案的 HTTP 區塊中,尋找 sendfile 指令。如果不存在,請新增以下行:

http {
    sendfile on;
    ...
}

如果 sendfile 設定為off(sendfile off;),將其變更為 on 或者如果缺少,只需添加該行。

修改文件後,儲存變更並退出編輯器。

重新啟動 NGINX 以套用更改

配置後,必須驗證 NGINX 配置是否有任何錯誤。使用此命令來測試配置:

sudo nginx -t

預期輸出應確認驗證成功:

nginx: configuration file /etc/nginx/nginx.conf test is successful

若要套用更改,請重新啟動 NGINX 伺服器。根據您的系統,使用以下命令之一:

sudo systemctl restart nginx

或者

sudo service nginx restart

結論

我們關於使用 Sendfile 指令優化 NGINX 伺服器的指南到此結束。我們已經討論瞭如何驗證您的系統對 Sendfile 的支持,在 NGINX 配置中啟用它,並確保伺服器重新啟動後功能正常。實施此調整可以顯著提高伺服器處理靜態檔案的效率。最後的建議是,根據這些變更定期監控伺服器的效能。即使是微小的調整也可以帶來顯著的改善。

Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言