前言
本來準備講解nginx和apache的日誌的,但是個人不太推薦apache(純屬個人愛好),這裡就不介紹apache的日誌了。
作為一名程式員,比碼代碼還重要那麼一點點的東西就是日誌的分析和查詢。下面列出常見日誌及設定方法。
設定檔
nginx分access_log和error_log兩種日誌
設定需要在nginx.conf中,預設通過源碼包編譯安裝nginx目錄應在
/usr/local/nginx
目錄下,如果你通過yum或者其他方式安裝,不清楚或不知道nginx具體安裝目錄,可以使用
find / -name nginx.conf
or
nginx -V | grep prefix-------------nginx version: nginx/1.13.9built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
開啟訪問日誌
如果是你源碼包預設安裝的,開啟路徑如下
vim /usr/local/nginx/nginx.conf
找到如下內容
http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; ...}
將log_format到access_log的注釋開啟即可,log_format可定義nginx的日誌規格。
log_format預設規格參數表
名稱 |
註解 |
$remote_addr |
用戶端/使用者的IP地址 |
$time_local |
訪問時間 |
$request |
請求方式 + 請求地址 |
$status |
請求狀態代碼 與HTTP狀態代碼一致 |
$body_bytes_sent |
請求的地址大小 以bytes格式計算 |
$http_referer |
請求來源,從什麼地方訪問的 |
$http_user_agent |
使用者資訊(瀏覽器資訊) |
$http_x_forwarded_for |
轉寄IP地址 |
開啟錯誤記錄檔
如果是你源碼包預設安裝的,開啟路徑如下
vim /usr/local/nginx/nginx.conf
找到如下內容
error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;
將註解刪除即可,你可以將不同的錯誤類型分開儲存如
error_log logs/error.log notice;
notice既為錯誤類型,不寫則是全部。
致謝
感謝你看到這裡,日誌操作與分析的相關文章後面我還會寫一些,希望可以協助到你。謝謝
代碼多變,初心不變