1. 程式人生 > >Nginx日誌過濾 使用ngx_log_if不記錄特定日誌

Nginx日誌過濾 使用ngx_log_if不記錄特定日誌

例如 配置文件 config ast code conf dpa -a 安裝nginx

ngx_log_if是Nginx的一個第三方模塊。它在Github上的描寫敘述是這樣介紹的:ngx_log_if是一個獨立的模塊,同意您控制不要寫的訪問日誌,類似於Apache的"CustomLog env = XXX"

第一步:
先到Github下載ngx_log_if地址https://github.com/cfsego/ngx_log_if/

第二步:
安裝第三方模塊到Nginx。第三方模塊的安裝能夠參考http://wiki.nginx.org/3rdPartyModules 使用--add-module加入解壓後的ngx_log_if例如以下

./configure --add-module=/var/local/ngx_log_if-master
然後再編譯安裝Nginx就可以。

第三步:
配置access_log_bypass_if到nginx.conf配置文件裏
server {
    location / {
        access_log_bypass_if ($status = 404); #不記錄404狀態的全部日誌信息
        access_log_bypass_if ($uri ~* ‘images‘); #不記錄uri中全部images文件夾下文件的日誌信息
        access_log_bypass_if ($uri = ‘/index.html‘); #不記錄uri為/index.html的日誌信息
	access_log_bypass_if ($host ~* ‘tonv.cc‘); #不記錄host為tonv.cc的全部日誌信息
    }
}

重新啟動Nginx就可以過濾不顯示特定的日誌了

Nginx日誌過濾 使用ngx_log_if不記錄特定日誌