nginx作為web伺服器之一,說不出的優點,哈哈。之前用過apache,發現有點臃腫,不夠nginx靈活(個人意見,不喜勿噴)。用了一段nginx,發覺有幾點優化nginx是可以做的。有興趣的朋友請看看
開啟**gzip壓縮功能,是nginx優化的最簡單也是最容易入手的乙個手段。假如你的**是500k,壓縮後是350k左右。
gzip
決定是否開啟gzip模組
param:on|off
example:gzip on;gzip_buffers
設定gzip申請記憶體的大小,其作用是按塊大小的倍數申請記憶體空間
param1:int
param2:int(k) 後面單位是k
example: gzip_buffers 4 8k;gzip_comp_level
設定gzip壓縮等級,等級越底壓縮速度越快檔案壓縮比越小,反之速度越慢檔案壓縮比越大
param:1-9
example:gzip_com_level 1;gzip_min_length
當返回內容大於此值時才會使用gzip進行壓縮,以k為單位,當值為0時,所有頁面都進行壓縮
用於識別http協議的版本,早期的瀏覽器不支援gzip壓縮,使用者會看到亂碼,所以為了支援前期版本加了此選項,目前此項基本可以忽略
nginx做為反向**的時候啟用,
param:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any]
expample:gzip_proxied no-cache;
off – 關閉所有的**結果資料壓縮
expired – 啟用壓縮,如果header中包含」expires」頭資訊
no-cache – 啟用壓縮,如果header中包含」cache-control:no-cache」頭資訊
no-store – 啟用壓縮,如果header中包含」cache-control:no-store」頭資訊
private – 啟用壓縮,如果header中包含」cache-control:private」頭資訊
no_last_modified – 啟用壓縮,如果header中包含」last_modified」頭資訊
no_etag – 啟用壓縮,如果header中包含「etag」頭資訊
auth – 啟用壓縮,如果header中包含「authorization」頭資訊
any – 無條件壓縮所有結果資料gzip_types
設定需要壓縮的mime型別,非設定值不進行壓縮
example:gzip_types text/html;複製**
在linux下,編譯nginx的配置檔案
vi /etc/nginx/nginx.conf
複製**
然後配置為下:
server
}複製**
配置後,重啟nginx即可。
nginx可以通過設定expires頁面快取時間,達到不快取或者是一直快取的狀態,減少伺服器請求之外,也提公升**負載能力。
time:預設單位(s)
expires 60s;//快取60秒 s(second)代表秒
expires 1h;//快取2小時 h(hour)代表小時
expires 30d;//快取30天 d(day)代表天
expires 12m;//快取12個月 m(month)代表月
epoch:指定「expires」的值為 1 january, 1970, 00:00:01 gmt。
max:指定「expires」的值為 31 december 2037 23:59:59 gmt,「cache-control」的值為10年。
-1:指定「expires」的值為當前伺服器時間-1s,即永遠過期。(負數:cache-control: no-cache,正數或零:cache-control: max-age = #(# 為您指定時間的秒數))。
off:不修改「expires」和」cache-control」的值。複製**
例:
server
}複製**
expires配置使用方法不僅限於上面的例子。
這乙個事件模型,說真的,我也看得一臉懵逼,建議大家有興趣的直接看這裡。
那講到優化,nginx的連線處理特點是:不同的作業系統採用不同的io模型。在linux下,使用的是epoll的io多路復用模型。
我們開啟events模組(詳細),配置如下:
events
複製**
隨便暴露nginx的版本號是灰常危險的,所以通過以下方式隱藏:
啟動nginx /usr/local/nginx/sbin/nginx ,是在配置檔案中加入server_tokens off;引數禁止版本資訊洩漏。
改完後,重啟nginx即可。
}## jpg|jpeg|jpg|png|gif|icon,這些是你想要遮蔽的檔案型別,可以根據情況修改。
##只需要把文中 www.baidu.com google.com 修改為你允許顯示你**的其他**網域名稱,注意中間用空格分開,而不是逗號。
##假如要設定整個目錄,可以這樣寫
location ~ ^/images/
#rewrite ^/
}複製**
總會有一些無聊的人,喜歡把網域名稱解析到別人伺服器上,但是不怕,有辦法:
在nginx.conf下新增下面的配置:
server
複製**
其實nginx優化還有很多很多,我這裡就不一一舉例出來了。
希望大家還有什麼問題都可以與我交流**,互相學習學習。
python奇淫技巧
01 異常處理 02 python 中re模組的re.compile 方法 03 python中with的用法 04 pycharm使用git github的pull request流程 05 python的qrcode庫生成 圓角logo myqr庫生成動態 06 python包管理工具pipen...
MTK除錯的奇淫技巧
mtk除錯的奇淫技巧 2012 4 12 18 02 不言而喻,無論是開發還是技術支援,與bug打交道在所難免。如果掌握了一些好的方法的話,可以起到事半功倍的效果。大致說來,mtk平台,無非是以下幾種方式加trace資訊 一 向串列埠輸出。優點,方便,快捷,缺點是列印太快,有些重要資訊不易獲取,不能...
位運算的奇淫技巧
1.組資料中只有乙個數字出現了一次。其他所有數字都是成對出現的。請找出這個數字。a b b a 因為只有乙個數恰好出現乙個,剩下的都出現過兩次,所以只要將所有的數異或起來,就可以得到唯一的那個數。include int find char str,int sz return tmp int main...