常見的nginx的配置選項

發表於2012-05-09

英文原文:agiletesting.blogspot.jp,編譯:扶凱

對於想學  Nginx 的新人,這是一個非常不錯的簡明指導。

Google 上有豐富的 Nginx 的教程和樣本配置檔案,但很多時候時候,配置這些是需要一些技巧。

Include 檔案

不要在您的主 nginx.conf 檔案中配置所有的東西,你需要分成幾個較小的檔案。您的同事會很感激你的。比如我的結構,我定義我的 upstream 的 pool 的為一個檔案,和一個檔案定義 location 處理伺服器上其它的應用。

例子:
upstreams.conf

locations.conf

servers.conf

現在,你的 nginx.conf 看起來非常的乾淨和簡單(仍然可以分開更多,來更包括檔案,比如分離gzip的配置選項)

nginx.conf

這 nginx.conf 檔案是使用了一些不太常見的配置選項,它值得指出其中一些重要的。

多個 worker 的配置(程式)

如果你的 Nginx 是多個 CPU 和多核,需要配置成多核的數量比較好:

增加開啟的檔案控制程式碼

如果 Nginx 服務很大的流量,增加最大可以開啟的檔案控制程式碼還是很有用的,因為預設只有 1024 個.可以使用 ‘ulimit -n’ 看到當前系統中的設定.

定製的日誌

可以看看 log_format 和 access_log 二個選項的設定. 通常我們有幾個引數最常使用,象 “$http_x_forwarded_for” 可以見到 load balancer 的裝置之前的 IP, 還有 “$request_time” 可以見到 Nginx 來處理這個主動所花的時間.

壓縮

壓縮對於文字非常非常的有用.

代理的選項

這些選項可以在每個 location 中設定.

這個中加了一個定製的引數,就是 ‘no-cache’,這樣就不會使用 cache 的內容了.

代理的 Cache

使用 Nginx 可以給一些檔案來 cache 到本地來當 Cache 的伺服器,需要設定 proxy_cache_path 和 proxy_temp_path 在你的 HTTP 的 directive 中.在 location 中配置.如果有你想 cache 的內容的話.

這可能還想增加一些其它的引數

HTTP caching options

有時你想使用其它的東西來做 Cache ,你可能需要指定怎麼樣 cache. 你可以給 cache 的資訊的檔案 include 到你的 root 的 location 中:

你可以指定不同的頭到於不同的檔案

SSL

如果你要配置 ssl 的連線的話

 

 

 

相關文章