主頁(yè) > 知識(shí)庫(kù) > Nginx 過濾靜態(tài)資源文件的訪問日志的實(shí)現(xiàn)

Nginx 過濾靜態(tài)資源文件的訪問日志的實(shí)現(xiàn)

熱門標(biāo)簽:撫州市城區(qū)地圖標(biāo)注 電銷智能機(jī)器人試用 企業(yè)辦理400電話收費(fèi)標(biāo)準(zhǔn) 智能電銷機(jī)器人真的有用么 高德地圖標(biāo)注足跡怎么打標(biāo) 激光標(biāo)記地圖標(biāo)注 百度地圖底圖標(biāo)注 中國(guó)地圖標(biāo)注上各個(gè)省 新鄉(xiāng)牧野400電話申請(qǐng)

凌亂的日志

日常使用的 Nginx 大都既做靜態(tài)資源服務(wù)器,也做反向代理服務(wù)器,尤其有些時(shí)候考慮到跨域問題,會(huì)對(duì)靜態(tài)資源和后端接口使用同一個(gè)監(jiān)聽端口,如果不做一下過濾處理,會(huì)在 access_log 中看到大量的例如 js、css、jpg 等靜態(tài)資源的請(qǐng)求,比較影響查看后端接口調(diào)用的日志

本來沒有很在意這個(gè)東西,不過在瀏覽一篇關(guān)于 Nginx 優(yōu)化的文章時(shí),發(fā)現(xiàn)了一種用 map 定義一個(gè)是否寫日志的參數(shù)的方法,結(jié)合最近使用 map 做動(dòng)態(tài)的跨域配置,索性也是學(xué)習(xí)及記錄一下 map 的另一個(gè)使用場(chǎng)景

使用 map 過濾訪問靜態(tài)資源文件的日志

http {
  log_format main '$remote_addr [$time_local] $request $status '
           'uct="$upstream_connect_time" rt="$request_time"';

  map $uri $not_static {
    default 1;
    ~^(.*\.(gif|jpg|jpeg|png|bmp|swf|js|css|woff|ttf)$) 0;
  }

  server {
    listen 23456;
    server_name localhost;
    access_log logs/test.log main if=$not_static;
  }
}

解釋說明:

  • 自定義一個(gè) log_format,標(biāo)識(shí)為 main
  • 對(duì)請(qǐng)求中的 uri 做匹配,如果是以 gif、jpg、css、js 等作為結(jié)尾的資源,則 $not_static 為0,否則為1
  • 對(duì)訪問23456端口的請(qǐng)求,access_log 指定使用標(biāo)識(shí)為 main 的自定義日志格式,且僅當(dāng) $not_static 為1時(shí)才記錄日志,關(guān)于 if 參數(shù),可參考 官方文檔
  • 有一點(diǎn)需要注意,access_log 中使用 if 參數(shù)時(shí),必須顯式指定一個(gè) log_format,否則會(huì)報(bào)錯(cuò): nginx: [emerg] unknown log format "if=$not_static"

另一種動(dòng)靜分離日志寫法

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|woff|ttf)$ {
  #access_log off; #不輸出訪問靜態(tài)資源的日志
  access_log logs/static_resources.log;
}

到此這篇關(guān)于Nginx 過濾靜態(tài)資源文件的訪問日志的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx 訪問日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:西安 海西 延安 忻州 臨汾 南通 邯鄲 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx 過濾靜態(tài)資源文件的訪問日志的實(shí)現(xiàn)》,本文關(guān)鍵詞  Nginx,過濾,靜態(tài),資,源文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Nginx 過濾靜態(tài)資源文件的訪問日志的實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Nginx 過濾靜態(tài)資源文件的訪問日志的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章