nginx教程(三) nginx日誌管理
通過訪問日誌,你可以得到使用者地域**、跳轉**、使用終端、某個url訪問量等相關資訊;通過錯誤日誌,你可以得到系統某個服務或server的效能瓶頸等。因此,將日誌好好利用,你可以得到很多有價值的資訊。
開啟nginx.conf配置檔案:vim /usr/local/nginx/conf/nginx.conf
日誌部分內容:
#access_log logs/access.log main;
日誌生成的到nginx根目錄logs/access.log檔案,預設使用「main」日誌格式,也可以自定義格式。
預設「main」日誌格式:
引數明細表:
$remote_addr
客戶端的ip位址(**伺服器,顯示**服務ip)
$remote_user
用於記錄遠端客戶端的使用者名稱(一般為「-」)
$time_local
用於記錄訪問時間和時區
$request
用於記錄請求的url以及請求方法
$status
響應狀態碼,例如:200成功、404頁面找不到等。
$body_bytes_sent
給客戶端傳送的檔案主體內容位元組數
使用者所使用的**(一般為瀏覽器)
可以記錄客戶端ip,通過**伺服器來記錄客戶端的ip位址
可以記錄使用者是從哪個鏈結訪問過來的
檢視日誌命令tail -f /usr/local/nginx/logs/access.log
開啟nginx.conf配置檔案去掉#注釋見下圖:
自定義某乙個server配置的日誌,使用「main」日誌格式。
日誌生成的到nginx根目錄logs/access.log檔案,預設使用「main」日誌格式,也可以自定義格式。
重新讀取載入nginx配置檔案:
執行命令:nginx-s reload
檢視日誌檔案:
執行命令:tail -100f /usr/local/nginx/logs/abc.access.log
nginx的日誌檔案沒有rotate功能。編寫每天生成乙個日誌,我們可以寫乙個nginx日誌切割指令碼來自動切割日誌檔案。
第一步就是重新命名日誌檔案,不用擔心重新命名後nginx找不到日誌檔案而丟失日誌。在你未重新開啟原名字的日誌檔案前,nginx還是會向你重新命名的檔案寫日誌,linux是靠檔案描述符而不是檔名定位檔案。
第二步向nginx主程序傳送usr1訊號。nginx主程序接到訊號後會從配置檔案中讀取日誌檔名稱,重新開啟日誌檔案(以配置檔案中的日誌名稱命名),並以工作程序的使用者作為日誌檔案的所有者。重新開啟日誌檔案後,nginx主程序會關閉重名的日誌檔案並通知工作程序使用新開啟的日誌檔案。工作程序立刻開啟新的日誌檔案並關閉重名名的日誌檔案。然後你就可以處理舊的日誌檔案了。[或者重啟nginx服務]。
nginx日誌按每分鐘自動切割指令碼如下:
新建shell指令碼:vi/usr/local/software/nginx/nginx_log.sh
#!/bin/bash建立crontab設定作業#設定日誌檔案存放目錄crontab -e#設定日誌檔案存放目錄
log_home="/usr/local/software/nginx/logs/"
#備分檔名稱
log_path_bak="$(date -d yesterday +%y%m%d%h%m)".abc.access.log
#重新命名日誌檔案
mv $/abc.access.log $/$.log
#向nginx主程序發訊號重新開啟日誌
kill -usr1 `cat /usr/local/software/nginx/logs/nginx.pid`
nginx教程(二) nginx安裝教程
目錄 在開始之前 首先,安裝下編譯環境和安裝編譯原始碼所需要的工具和庫,執行命令 yum install gcc gcc c ncurses devel perl 否則,安裝安裝編譯時會報如下錯誤 建立目錄 mk usr local software package 然後進入 cd usr loca...
Nginx入門教程(日誌管理)
通過訪問日誌,你可以得到使用者地域 跳轉 使用終端 某個url訪問量等相關資訊 通過錯誤日誌,你可以得到系統某個服務或server的效能瓶頸等。因此,將日誌好好利用,你可以得到很多有價值的資訊。開啟nginx.conf配置檔案 vim usr local nginx conf nginx.conf ...
nginx教程2 日誌
主要有兩種 access log 訪問日誌 和 error log 錯誤日誌 access log 訪問日誌 access log 主要記錄客戶端訪問 nginx 的每乙個請求,格式可以自定義。通過 access log 你可以得到使用者 地域 跳轉 使用終端 某個 url 訪問量 等相關資訊。lo...