Nginx學習指南之模塊的應用解析(二)

概述

關於Nginx Web Server的篇章,發現挺長時間沒有更新了,只能利用空閒的時間細心整理一下,希望在提升自己能力的同時,也能幫助到大家,在之前的寫的一篇Nginx文檔中,介紹了Nginx核心模塊ngx_http_core_module常用指令的詳細說明,也加以實例的操作展示出來,在之後的文檔中繼續總結Nginx常用的模塊

wKiom1OkCKXAZy2VAAFQeYPQ5g0496.jpg


模塊:ngx_http_access_module

功能:允許,限制某些客戶端的訪問地址

指令:

allow     127.0.0.1;


允許指定IP地址的客戶端訪問,可以是單獨的IP,或者IP網段與Unix套接字;

deny      all;


限制指定IP地址的客戶端訪問,可以是單獨的IP,或着IP網段與Uinx套接字;

示例:

Location / {
       allow     127.0.0.1;
       deny      0.0.0.0/24
}

 

輸出結果:

a)本地測試

wKiom1OkCPCDhtneAAEssvBUUUY586.jpg


b)客戶端測試

wKiom1OkCRazgXJ3AAEx2JpEzXc546.jpg


模塊:ngx_http_auth_basic_module

功能:允許限制通過驗證用戶名和密碼使用HTTP基本身份驗證協議訪問服務器資源。

指令:

auth_basic    "Nginx Access Basic";


使用HTTP基本身份驗證協議,聲明用戶驗證時的提示信息;

auth_basic_user_file    "path/client.passwd";


指定用戶身份驗證文件,如果不是網頁根目錄下,需要些絕對路徑;

 

示例:

location / {
    auth_basic           "Nginx Access Basic";
    auth_basic_user_file      /data/bbs/program/client.passwd;
}


 

輸出結果:

wKioL1OkCROQZVEFAADLciKwa_c463.jpg


#提示:客戶端client.passwd驗證文件,需要用htpasswd命令生成,對於不熟悉的朋友可以查閱:http://hi.baidu.com/df_world/item/c6183a16b51e4afc756a848b

 

模塊ngx_http_autoindex_module

功能:自動索引目錄

指令:

autoindex    off;


啓用或者禁用目錄列表的輸出,默認爲off(關閉);

autoindex_index_exac_size     on;


顯示索引列表中,文件確切的大小,默認爲on(啓用),輸出單位是bytes;改爲off後,顯示出文件的大概大小,輸出單位是kBMBGB等;

autoindex_localtime  on;


指定索引列表中,顯示文件的時間戳爲本地時間或者UTC時間;默認爲off(關閉),顯示的文件時間戳爲UTC時間。改爲on後,顯示的文件時間戳爲服務器的本地時間;

 

示例:

location / {
            autoindex   on;
            autoindex_exact_size off;
            autoindex_localtime on;
        }


 

輸出結果:

wKiom1OkCffDs54hAADD9tP04UM265.jpg


#提示:使用autoindex功能的朋友,網站根目錄下不要有index.htmlindex.php索引文件,不然瀏覽器中顯示的便是索引文件中的信息;


ngx_http_charset_module

功能:添加指定的字符集的“Content-Type”響應標頭字段,此外,該模塊可以將數據從一個字符集轉換成另一個字符集,但它會有一些侷限性:

a)執行轉換的一種方法,從服務器到客戶端,且只有單字節字符集可以轉換;或者單字節轉換爲UTF-8

 

指令:

Charset  utf-8;


添加指定的字符集的“Content-Type”響應頭字段,若指定的字符集不同於source_charset指令指定的字符集,將執行轉換;

Charset  mime-type;


處理與響應指定的mime類型,默認值爲text/htmltext/xmlapplication/javascript等,其中除了“text/html”類型,特殊值“*”將匹配任何MIME類型,

Source_charset  utf-8;


定義響應的源字符集,如果設置的源字符集不同於charset指令指定的字符集,將執行轉換;

 

示例:

Server {
charset utf-8;
source_charset utf-8;
charset_types  text/xmltext/plain text/vnd.wap.wml application/javascript application/rss+xml;
}


 

輸出結果:

wKioL1OkCdqRSEJxAAFgKz_Fjls749.jpg


#提示:默認情況下charset_types字段可以省略,因爲在Nginx配置文件中includemime.types定義衆多類型的“Content-Type”響應頭字段,建議朋友去了解一下;

 

ngx_http_gzip_module

功能:此模塊是個過濾器,使用Gzip方法響應壓縮,通常有助於減少一半甚至更多的傳輸數據的大小;

 

指令:

gzip off;


啓用或關閉gzip響應,默認關閉(off)狀態,啓用狀態爲(on);

gzip_buffers 32 4k;


設置用於壓縮響應的緩存區數量與大小,默認情況下,緩存區大小等於一個內存頁,可設置爲4k8k,這往往取決於一個平臺;

 

#Linux平臺可以通過如下方法查詢頁面大小:

[root@Nginx_web1~]# getconf PAGE_SIZE

4096

 

gzip_disable    "MSIE [4-6]\.";


禁用gzipping響應“User-Agent”頭字段匹配任何指定正則表達式的請求。

gzip_min_length    20;


設置將要被gzip壓縮響應的最小長度,這長度只從“Content_Length”響應標頭字段來決定。

gzip_http_version      1.1;


設置壓縮響應請求需要的最小HTTP版本,支持HTTP1.0,HTTP1.1

gzip_proxined     off;


啓用或禁用gzipping對代理請求依賴於請求和響應,這響應代理事實上是有“Via”請求頭字段的存在來確定,一個指令接受多個參數;

gzip_types    mime-type;


啓用gzipping響應指定的mime類型,除了“text/html”類型,其中特殊值“*”匹配任何mime類型,“text/html”類型的響應始終被壓縮;

gzip_vary      off;


啓用或禁用插入“VaryAccept-Encoding”響應頭字段;

 

示例:

http {
gzip  on;
gzip_min_length 1k;
gzip_buffers 16 8k;    
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_disable "MSIE [4-6]\.";
gzip_types text/plain text/cssapplication/x-javascript text/xml application/xml text/javascript;
gzip_vary on;
}


輸出結果:

wKioL1OkCiLj6w1AAAGmUt__hok015.jpg


我想說,學習也是一件辛苦的事情。古人云:“閱萬卷書,行萬里路”;對於學習,請多花費一些時間,且能持之以恆,把別人的知識變成自己的知識,能熟練運用,精通之,便是你最終的目標;相信自己,你也可以;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章