校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Nginx 過濾靜態資源文件的訪問日志的實現

Nginx 過濾靜態資源文件的訪問日志的實現

熱門標簽:撫州市城區地圖標注 電銷智能機器人試用 企業辦理400電話收費標準 智能電銷機器人真的有用么 高德地圖標注足跡怎么打標 激光標記地圖標注 百度地圖底圖標注 中國地圖標注上各個省 新鄉牧野400電話申請

凌亂的日志

日常使用的 Nginx 大都既做靜態資源服務器,也做反向代理服務器,尤其有些時候考慮到跨域問題,會對靜態資源和后端接口使用同一個監聽端口,如果不做一下過濾處理,會在 access_log 中看到大量的例如 js、css、jpg 等靜態資源的請求,比較影響查看后端接口調用的日志

本來沒有很在意這個東西,不過在瀏覽一篇關于 Nginx 優化的文章時,發現了一種用 map 定義一個是否寫日志的參數的方法,結合最近使用 map 做動態的跨域配置,索性也是學習及記錄一下 map 的另一個使用場景

使用 map 過濾訪問靜態資源文件的日志

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;
  }
}

解釋說明:

  • 自定義一個 log_format,標識為 main
  • 對請求中的 uri 做匹配,如果是以 gif、jpg、css、js 等作為結尾的資源,則 $not_static 為0,否則為1
  • 對訪問23456端口的請求,access_log 指定使用標識為 main 的自定義日志格式,且僅當 $not_static 為1時才記錄日志,關于 if 參數,可參考 官方文檔
  • 有一點需要注意,access_log 中使用 if 參數時,必須顯式指定一個 log_format,否則會報錯: nginx: [emerg] unknown log format "if=$not_static"

另一種動靜分離日志寫法

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

到此這篇關于Nginx 過濾靜態資源文件的訪問日志的實現的文章就介紹到這了,更多相關Nginx 訪問日志內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:西安 海西 延安 忻州 臨汾 南通 邯鄲 辛集

巨人網絡通訊聲明:本文標題《Nginx 過濾靜態資源文件的訪問日志的實現》,本文關鍵詞  Nginx,過濾,靜態,資,源文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Nginx 過濾靜態資源文件的訪問日志的實現》相關的同類信息!
  • 本頁收集關于Nginx 過濾靜態資源文件的訪問日志的實現的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 南丹县| 高州市| 甘孜县| 英超| 乌兰察布市| 喀喇沁旗| 新野县| 通海县| 朝阳县| 抚州市| 九寨沟县| 吕梁市| 安陆市| 随州市| 和龙市| 天门市| 腾冲县| 岳普湖县| 寻乌县| 云霄县| 绥滨县| 新民市| 兴业县| 莱西市| 五峰| 河源市| 吴江市| 潞西市| 雅江县| 西丰县| 历史| 高平市| 本溪| 江阴市| 兴业县| 当涂县| 白朗县| 阿城市| 绥棱县| 房产| 安新县|