1. linux nginx php 錯誤日誌在哪
建議切換到根目錄
cd /
find . -name error.log
很大程度上會在./var/log/nginx/error.log位置,具體你find一下
2. linux nginx 日誌在哪
如果用的LNMP之類的安裝包
在NGINX下的CONF文件夾里看配置文件,日誌文件如果記錄了話
在配置文件里有路徑的~
3. linux nginx 假死 看什麼日誌
默認的路徑是你安裝時候指定的
如果用的LNMP之類的安裝包
你可以在SHELL下
whereis nginx
找到相應的內路徑之後容
在NGINX下的CONF文件夾里看配置文件,日誌文件如果記錄了話
在配置文件里有路徑的~
4. 如何定時清理Linux系統中的Nginx日誌
nginx日誌文件需要手動分割,創建腳本文件clear_log.sh
文件路徑/usr/local/nginx/clear_log.sh
vi clear_log.sh。輸入如下內容
#!/bin/bash
cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d 「yesterday」 +「%Y%m%d」).log
#先復制原來的錯誤日誌文件,請根據自己實際的日誌路徑填寫
cat /dev/null 》 /usr/local/nginx/logs/error.log
#清空錯誤日誌文件
cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d 「yesterday」 +「%Y%m%d」).log
#先復制原來的正常訪問日誌
cat /dev/null 》 /usr/local/nginx/logs/access.log
#清空原來的正常訪問日誌
創建dellog.sh文件,路徑/usr/local/nginx
vi dellog.sh
#!/bin/sh
find /usr/nginx/logs/error -mtime +7 -type f -name /*.log | xargs rm -f
find /usr/nginx/logs/access -mtime +7 -type f -name /*.log | xargs rm -f
#定期刪除七天前的日誌文件
啟動linux下的計劃任務,將剛才創建好的兩個shell腳本加入此計劃
crontab -e,輸入如下內容
0 0 * * * /usr/nginx/clear_log.sh
#每天0點執行/usr/nginx/clear_log.sh
0 0 * * * /usr/nginx/dellog.sh
#每天0點執行 /usr/nginx/dellog.sh
保存後退出,輸入命令crontab root就會看到/var/spool/cron/文件夾下看到相應的副本文件root。至此完成nginx日誌按天拆分與定期清除。
邏輯詳解:比如現在是3月18日0點0分,系統會自動執行clear_log.sh與dellog.sh兩個shell腳本。clear_log.sh會把3月17日的日誌文件分別生成為access_20140317.log與error_20140318.log,然後把原來的access.log與error.log分別清空。dellog.sh則會自動判斷該文件的創建時間,如果是十五天前的就會自動清除
上面就是Linux清理Nginx日誌的方法介紹了,因為Nginx日誌沒有自動清理的功能,一般採用切割日誌的方法進行處理。
5. Linux下Nginx如何切割訪問日誌
在進行編寫腳本之前,先進行以下假設:
日誌文件是:/usr/local/nginx/logs/access.log
nginx主進程id保存在文件:/usr/local/nginx/logs/nginx.pid
切割後備份文件目錄:/usr/local/nginx/logs/bak/
切割詳細步驟,請參閱下面操作:
1、創建文件cut_access_log.sh:
vim /.bin/cut_access_log.sh vim /.bin/cut_access_log.sh
2、輸入文件cut_access_log.sh內容
#! /bin/bash
org_path="/usr/local/nginx/logs/"
dest_path="/usr/local/nginx/logs/bak/"
if [ ! -d "$dest_path" ]; then
mkdir "$dest_path"fimv ${org_path}access.log ${dest_path}access$(date +%Y%m%d).log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
3、保存cut_access_log.sh之後,賦可執行許可權
chmod +x /.bin/cut_access_log.sh
4、編寫crontab文件:vim /.cron5、輸入crontab文件內容,並保持
59 23 * * * /bin/bash /.bin/cut_access_log.sh
6、添加到crontab中
6. Linux系統怎麼分析Nginx日誌
Linux系統下Nginx 日誌可以查看系統運行記錄和出錯說明,對Nginx 日誌的分析可以了解系統運行的狀態。那麼Linux系統Nginx日誌怎麼分析呢?
Nginx 日誌相關配置有 2 個地方:access_log 和 log_format 。
默認的格式:
access_log /data/logs/nginx-access.log;
log_format old 『$remote_addr [$time_local] $status $request_time $body_bytes_sent 』
『「$request」 「$http_referer」 「$http_user_agent」』;
相信大部分用過 Nginx 的人對默認 Nginx 日誌格式配置都很熟悉,對日誌的內容也很熟悉。但是默認配置和格式雖然可讀,但是難以計算。
Nginx 日誌刷盤相關策略可配置:
比如,設置 buffer,buffer 滿 32k 才刷盤;假如 buffer 不滿 5s 鍾強制刷盤的配置如下:
access_log /data/logs/nginx-access.log buffer=32k flush=5s;
這決定了是否實時看到日誌以及日誌對磁碟 IO 的影響。
Nginx 日誌能夠記錄的變數還有很多沒出現在默認配置中:
比如:
請求數據大小:$request_length
返回數據大小:$bytes_sent
請求耗時:$request_time
所用連接序號:$connection
當前連接發生請求數:$connection_requests
Nginx 的默認格式不可計算,需要想辦法轉換成可計算格式,比如用控制字元 ^A (Mac 下 ctrl+v ctrl+a 打出)分割每個欄位。
log_format 的格式可以變成這樣:
log_format new 『$remote_addr^A$http_x_forwarded_for^A$host^A$time_local^A$status^A』
『$request_time^A$request_length^A$bytes_sent^A$http_referer^A$request^A$http_user_agent』;
這樣之後就通過常見的 Linux 命令行工具進行分析了:
查找訪問頻率最高的 URL 和次數:
cat access.log | awk -F 『^A』 『{print $10}』 | sort | uniq -c
查找當前日誌文件 500 錯誤的訪問:
cat access.log | awk -F 『^A』 『{if($5 == 500) print $0}』
查找當前日誌文件 500 錯誤的數量:
cat access.log | awk -F 『^A』 『{if($5 == 500) print $0}』 | wc -l
查找某一分鍾內 500 錯誤訪問的數量:
cat access.log | awk -F 『^A』 『{if($5 == 500) print $0}』 | grep 』09:00』 | wc-l
查找耗時超過 1s 的慢請求:
tail -f access.log | awk -F 『^A』 『{if($6》1) print $0}』
假如只想查看某些位:
tail -f access.log | awk -F 『^A』 『{if($6》1) print $3″|」$4}』
查找 502 錯誤最多的 URL:
cat access.log | awk -F 『^A』 『{if($5==502) print $11}』 | sort | uniq -c
查找 200 空白頁
cat access.log | awk -F 『^A』 『{if($5==200 && $8 《 100) print $3″|」$4″|」$11″|」$6}』
查看實時日誌數據流
tail -f access.log | cat -e
或者
tail -f access.log | tr 『^A』 『|』
照著這個思路可以做很多其他分析,比如 UA 最多的訪問;訪問頻率最高的 IP;請求耗時分析;請求返回包大小分析;等等。
這就是一個大型 Web 日誌分析系統的原型,這樣的格式也是非常方便進行後續大規模 batching 和 streaming 計算。
以上就是Linux系統Nginx日誌怎麼分析的全部內容了,可以看出來Nginx日誌還是有很強大的作用的。