Nginx學習總結 geo與image模組(四)

2021-08-27 21:52:41 字數 2261 閱讀 9900

斜體下劃線,表示建議採用預設配置,無需顯式的配置

一、ngx_http_geo_module

核心特性為:根據客戶端ip(段),geo模組將會匹配出指定的變數(比如,國家**,城市**)。geo模組可以幫助我們實現如下場景:

1)簡易的cdn網路

2)多機房部署,站點分流。

3)limit非法ip(段)的訪問,或者限流。

1、geo 【$address】$variable

上下文:http

其中「address」變數是可選的,如果不指定,預設為「$remote_addr」;使用「address」變數值作為客戶端ip,參與geo匹配,將匹配的值作為$variable。如果「address」變數不是乙個合法的ip位址,那麼將使用「255.255.255.255」作為可選值。geo模組中可以使用如下引數:

1)delete:刪除指定的網路。

2)default:如果客戶端ip沒有在geo ip列表中匹配到任何資訊,那麼將使用default指定的值,作為$variable的值。如果沒有使用default配置項,且匹配失敗時,最終$variable的值為空。

3)include:指定geo ip列表的外部檔案。此檔案中宣告方式與在geo區塊中一樣,每行乙個「ip」對應乙個引數值。

4)proxy:定義那些可信(trusted)的位址(通常是集群中其他nginx的位址),來自trusted位址的請求,將會使用header中「x-forwarded-for」字段值,來匹配geo。proxy配置項將會按照宣告的順序檢測。 

geo $country 

server

}server

}

geo $country
二、ngx_http_image_fileter_module

裁剪輔助模組,此模組需要額外的安裝,而且安裝過程比較複雜,參見【安裝過程】。

1、image_filter

上下文:location

image_filter off;

image_filter test;

image_filter size;

imagefilter rotate 90 | 180 | 270;

image_filter resize 【width】 【height】;

image_filter crop 【width】 【height】;

1)off:此location區塊中,關閉此module處理。

2)test:確保響應的格式為jpeg、gif、png,否則將返回415錯誤**(unsupported media type)。這個引數可以用來檢測url是否為「格式良好」的。

}
4)rotate 90 | 180 | 270:逆時針旋轉指定的角度。可選值為「90」、「180」、「270」,這個指令可以單獨使用,也可以與「resize」、「crop」一起使用。

5)resize 【width】【height】:按比例壓縮的尺寸;如果只希望按照乙個維度壓縮,另乙個維度可以用「_」表示。如果出錯,將返回415錯誤**。當此引數與rotate一起使用時,那麼壓縮後太會rotate。resize即為我們常說的「等比壓縮」,最終壓縮後的長、寬都不會超過引數指定的值。

6)crop 【width】 【height】:裁剪,先按照較長的邊等比壓縮(同resize),然後再使用那個較短的邊進行裁剪。如果此有rotate配置,那麼先rotate然後再crop。

resize、crop時,會丟擲415錯誤,原因排查方式:nginx是否有訪問此檔案的許可權(如果沒有,不會丟擲403,而是直接415),系統是否安裝了相關的media型別處理lib,的大小是否超過了「image_filter_buffer」的大小。

2、image_filter_buffer 【size】

預設值為「1m」;設定讀取時所需要的最大記憶體空間,如果大小超過此值,則返回415錯誤。

3、image_filter_jpeg_quality 【quality】

4、image_filter_sharpen 【percent】

預設值為「0」;增加的銳度。「0」表示關閉銳度。

5、image_filter_transparency 【on | off】

預設值為「on」;對於png、gif格式的,是否保留原始的透明度。

server 

}

nginx學習總結

1.nginx的配置 user nobody 2.自定義編譯install 本人是用的mac來安裝nginx,採用source來自己編譯安裝,configure,make,make install nginx 需要依賴pcre,openssl兩個模組,需要自己安裝。我的mac電腦已使用brew來安裝...

Nginx學習總結

nginx常用屬性 1 down屬性 用於標識宕機伺服器,標識後此伺服器不提供服務.2 backup屬性 用於標識備用伺服器.標識後該伺服器平時不工作,當那些主伺服器宕機後或者響應服務過多忙不過來時自動啟動.3 ip hash 實際工作使用sso單點登入實現使用者伺服器間資料共享 將使用者初次訪問時...

nginx學習總結

一直不明白nginx是乙個怎樣神器的東西,好像每個公司都在用!出門說你不知道nginx你都不好意思說你是程式猿。今天看了一篇文章受益匪淺決定記錄下來!熟悉之後根據自己的理解寫出一篇屬於自己的文章 1.nginx是什麼 本人理解 其實就是乙個負責 的伺服器!用來載入頁面靜態檔案的容器。也就是說所偶有的...