主頁 > 知識庫 > Nginx日志管理介紹

Nginx日志管理介紹

熱門標(biāo)簽:硅谷的囚徒呼叫中心 阿里云 美圖手機(jī) 智能手機(jī) 檢查注冊表項(xiàng) 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤裝系統(tǒng) 網(wǎng)站建設(shè)

Nginx日志描述

通過訪問日志,你可以得到用戶地域來源、跳轉(zhuǎn)來源、使用終端、某個(gè)URL訪問量等相關(guān)信息;通過錯(cuò)誤日志,你可以得到系統(tǒng)某個(gè)服務(wù)或server的性能瓶頸等。因此,將日志好好利用,你可以得到很多有價(jià)值的信息。

參數(shù)明細(xì)表:

$remote_addr 客戶端的ip地址(代理服務(wù)器,顯示代理服務(wù)ip)
$remote_user 用于記錄遠(yuǎn)程客戶端的用戶名稱(一般為“-”)
$time_local 用于記錄訪問時(shí)間和時(shí)區(qū)
$request 用于記錄請求的url以及請求方法
$status 響應(yīng)狀態(tài)碼,例如:200成功、404頁面找不到等。
$body_bytes_sent 給客戶端發(fā)送的文件主體內(nèi)容字節(jié)數(shù)
$http_user_agent 用戶所使用的代理(一般為瀏覽器)
$http_x_forwarded_for 可以記錄客戶端IP,通過代理服務(wù)器來記錄客戶端的ip地址
$http_referer 可以記錄用戶是從哪個(gè)鏈接訪問過來的

Nginx日志分隔

nginx的日志文件沒有rotate功能。編寫每天生成一個(gè)日志,我們可以寫一個(gè)nginx日志切割腳本來自動切割日志文件。

第一步就是重命名日志文件,不用擔(dān)心重命名后nginx找不到日志文件而丟失日志。在你未重新打開原名字的日志文件前,nginx還是會向你重命名的文件寫日志,Linux是靠文件描述符而不是文件名定位文件。

第二步向nginx主進(jìn)程發(fā)送USR1信號。nginx主進(jìn)程接到信號后會從配置文件中讀取日志文件名稱,重新打開日志文件(以配置文件中的日志名稱命名),并以工作進(jìn)程的用戶作為日志文件的所有者。重新打開日志文件后,nginx主進(jìn)程會關(guān)閉重名的日志文件并通知工作進(jìn)程使用新打開的日志文件。工作進(jìn)程立刻打開新的日志文件并關(guān)閉重名名的日志文件。然后你就可以處理舊的日志文件了。[或者重啟nginx服務(wù)]。

Nginx日志格式

打開nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf
查看Nginx的nginx.conf文件,可以看到這樣一條信息

#access_log  logs/access.log  main;

這說明該server訪問日志的文件是  logs/host.access.log,使用的格式”main”格式。
日志生成的到Nginx根目錄logs/access.log文件,默認(rèn)使用“main”日志格式,也可以自定義格式。

main格式

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
#   '$status $body_bytes_sent "$http_referer" '
#   '"$http_user_agent" "$http_x_forwarded_for"';
#參數(shù)解釋
$remote_addr 客戶端IP地址;
$remote_user 客戶端用戶名;
$time_local 訪問的時(shí)間和時(shí)區(qū);
$request 訪問請求的類型,POST或者GET;
$status 記錄請求狀態(tài),404、304、200等等;
$body_bytes_sent 客戶端給服務(wù)器發(fā)送的文件主體內(nèi)容的大??;
$http_referer 訪問來源——從哪個(gè)鏈接過來的;
$http_user_agent 用戶代理信息,一般是瀏覽器的標(biāo)記,有時(shí)候也是爬蟲標(biāo)記。
$http_x_forwarded_for 直接訪問該服務(wù)器的IP地址,可能是客戶端IP也可能是代理服務(wù)器IP
#應(yīng)用main格式的日志實(shí)例
47.97.66.214 - - [05/May/2018:02:18:26 +0800] "GET /solr/ HTTP/1.1" 404 571 "http://44.186.245.237/solr/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li Gecko) Chrome/59.0.3071.115 Safari/537.36"
47.97.66.214 - - [05/May/2018:02:18:26 +0800] "GET /wcm/ HTTP/1.1" 404 571 "http://44.186.245.237/wcm/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li Gecko) Chrome/59.0.3071.115 Safari/537.36"
80.82.78.50 - - [05/May/2018:03:53:56 +0800] "GET http://www.baidu.com/ HTTP/1.1" 404 169 "-" "Mozilla"
112.193.171.197 - - [05/May/2018:06:52:06 +0800] "GET http://www.rfa.org/ HTTP/1.1" 200 462 "-" "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-693.11.1.el7.x86_64"

除了main格式,你可以自定義其他格式,只需要把上述參數(shù)重新組合即可。

nginx的默認(rèn)log存放在logs/access.log里,但也允許針對不同的server做不同的log,只需要在對應(yīng)server下加入如下語句

access_log logs/access_8080.log mylog;
#聲明一個(gè)log #log存放目錄和名稱 #log格式(可自定義)

修改nginx.conf之后需要重啟Nginx才能使配置生效

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

標(biāo)簽:賀州 湘潭 煙臺 山南 黃山 湖北 通遼 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Nginx日志管理介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266