nginx的奇淫怪招

2021-09-24 07:39:33 字數 3214 閱讀 1471

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...