Nginx日志管理介紹
Nginx日志描述
通過訪問日志,你可以得到用戶地域來源、跳轉(zhuǎn)來源、使用終端、某個URL訪問量等相關(guān)信息;通過錯誤日志,你可以得到系統(tǒng)某個服務(wù)或server的性能瓶頸等。因此,將日志好好利用,你可以得到很多有價值的信息。
參數(shù)明細表:
| $remote_addr | 客戶端的ip地址(代理服務(wù)器,顯示代理服務(wù)ip) |
| $remote_user | 用于記錄遠程客戶端的用戶名稱(一般為“-”) |
| $time_local | 用于記錄訪問時間和時區(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 | 可以記錄用戶是從哪個鏈接訪問過來的 |
Nginx日志分隔
nginx的日志文件沒有rotate功能。編寫每天生成一個日志,我們可以寫一個nginx日志切割腳本來自動切割日志文件。
第一步就是重命名日志文件,不用擔(dān)心重命名后nginx找不到日志文件而丟失日志。在你未重新打開原名字的日志文件前,nginx還是會向你重命名的文件寫日志,Linux是靠文件描述符而不是文件名定位文件。
第二步向nginx主進程發(fā)送USR1信號。nginx主進程接到信號后會從配置文件中讀取日志文件名稱,重新打開日志文件(以配置文件中的日志名稱命名),并以工作進程的用戶作為日志文件的所有者。重新打開日志文件后,nginx主進程會關(guā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文件,默認使用“main”日志格式,也可以自定義格式。
main格式
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_age
除了main格式,你可以自定義其他格式,只需要把上述參數(shù)重新組合即可。
nginx的默認log存放在logs/access.log里,但也允許針對不同的server做不同的log,只需要在對應(yīng)server下加入如下語句
access_log logs/access_8080.log mylog; #聲明一個log #log存放目錄和名稱 #log格式(可自定義)
修改nginx.conf之后需要重啟Nginx才能使配置生效
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對本站的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信