Nginx配置引數優化, Nginx運維規範

2021-09-29 05:59:47 字數 2896 閱讀 9451

worker程序

http和tcp連線

假如需要頻繁的傳送一些小包資料,比如說1個位元組,以ipv4為例的話,則每個包都要附帶40位元組的頭,

也就是說,總計41個位元組的資料裡,其中只有1個位元組是我們需要的資料。

為了解決這個問題,出現了nagle演算法。

它規定:如果包的大小滿足mss,那麼可以立即傳送,否則資料會被放到緩衝區,等到已經傳送的包被確認了之後才能繼續傳送。

通過這樣的規定,可以降低網路裡小包的數量,從而提公升網路效能。

buffer和cache(以下配置都是針對單個請求)
瀏覽器在傳送含有較大http body的請求時,其頭部會有乙個content-length欄位,client_max_body_size是用來限制content-length所示值的大小的。

這個限制body的配置不用等nginx接收完所有的http包體,就可以告訴使用者請求過大不被接受。會返回413狀態碼。

例如,使用者試圖上傳乙個1gb的檔案,nginx在收完包頭後,發現content-length超過client_max_body_size定義的值,

就直接傳送413(request entity too large)響應給客戶端。

將該數值設定為0,則禁用限制,建議設定為10m。

該引數會對以下資訊進行快取:

開啟檔案描述符的檔案大小和修改時間資訊;

存在的目錄資訊;

搜尋檔案的錯誤資訊(檔案不存在無許可權讀取等資訊)。

格式:open_file_cache max=size inactive=time;

max設定快取檔案的數量,inactive設定經過多長時間檔案沒被請求後刪除快取。

建議設定 open_file_cache max=102400 inactive=20s;

open_file_cache指令中的inactive引數時間內檔案的最少使用次數,

如,將該引數設定為1,則表示,如果檔案在inactive時間內一次都沒被使用,它將被移除。

建議設定為2。

壓縮

對於純文字的內容,nginx是可以使用gzip壓縮的。使用壓縮技術可以減少對頻寬的消耗。

由ngx_http_gzip_module模組支援

測試:

curl -i -h 「accept-encoding: gzip, deflate」

[root@tanyvlinux ~]# curl -i -h "accept-encoding: gzip, deflate" www.aaa.com #把目錄裡的index.html內容增加到1024b以上;

content-encoding: gzip #顯示壓縮傳輸;

日誌

靜態檔案過期

對於靜態檔案,需要設定乙個過期時間,這樣可以讓這些資源快取到客戶端瀏覽器,

在快取未失效前,客戶端不再向服務期請求相同的資源,從而節省頻寬和資源消耗。

配置示例如下:

作為**伺服器

nginx絕大多數情況下都是作為**或者負載均衡的角色。

因為前面章節已經介紹過以下引數的含義,在這裡只提供對應的配置引數:

}}ssl優化

ssl_session_cache   shared:ssl:10m; //快取為10m

ssl_session_timeout 10m; //會話超時時間為10分鐘

nginx 配置引數優化

nginx作為高效能web伺服器,即使不特意調整配置引數也可以處理大量的併發請求。以下的配置引數是借鑑網上的一些調優引數,僅作為參考,不見得適於你的線上業務。worker程序 該引數表示啟動幾個工作程序,建議和本機cpu核數保持一致,每一核cpu處理乙個程序。它表示nginx最大可用的檔案描述符個數...

nginx配置引數優化

ginx作為高效能web伺服器,即使不特意調整配置引數也可以處理大量的併發請求。以下的配置引數是借鑑網上的一些調優引數,僅作為參考,不見得適於你的線上業務。worker程序 該引數表示啟動幾個工作程序,建議和本機cpu核數保持一致,每一核cpu處理乙個程序。它表示nginx最大可用的檔案描述符個數,...

nginx 配置優化的幾個引數

2011 04 22 最近在伺服器上搞了一些nginx 研究了一下 總結總結 worker processes 8 nginx要開啟的程序數一般等於cpu的總核數 其實一般情況下開4個或8個就可 我開2個 以了 多了沒有太多用 每個nginx程序消耗的記憶體10兆的模樣 worker cpu aff...