/var/log/nginx/access.log
(訪問日志)、error.log
(錯誤日志)。/var/log/mysql/error.log
(錯誤日志)、general.log
(查詢日志)、slow.log
(慢查詢日志)。/var/log/php7.x-fpm.log
或 /var/log/php-fpm/error.log
。/var/log/syslog
、journalctl
(Systemd日志)。Logrotate
sudo apt-get install logrotate
。/etc/logrotate.d/
下的自定義配置文件(如 nginx
),設置輪轉周期、保留天數、壓縮等參數,例如:/var/log/nginx/*.log {
daily
rotate 7
compress
missingok
postrotate
systemctl reload nginx
endscript
}
```。
sudo logrotate -d /etc/logrotate.d/nginx
(測試),sudo systemctl enable logrotate
(啟用)。Rsyslog
sudo apt-get install rsyslog
。/etc/rsyslog.conf
或 /etc/rsyslog.d/
下的文件,設置日志輸出格式、過濾規則等。Systemd Journal
journalctl -n 100
(查看最近100條)、journalctl -u nginx
(查看Nginx相關日志)。journalctl --since "2025-01-01" --until "2025-01-31"
(按時間過濾)。命令行工具
tail -f /var/log/nginx/access.log
:實時查看訪問日志。grep "error" /var/log/mysql/error.log
:搜索錯誤日志中的關鍵字。awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c
:統計IP訪問頻率。工具化分析
sudo apt-get install logwatch
)。640
,屬主為 root
或對應服務用戶(如 www-data
)。sudo rm /var/log/nginx/*.log.*
。tail -f
+ watch
實時追蹤關鍵日志。場景 | 命令 |
---|---|
查看Nginx訪問日志 | tail -f /var/log/nginx/access.log |
查看MySQL錯誤日志 | journalctl -u mysql 或 cat /var/log/mysql/error.log |
統計PHP錯誤次數 | `grep “PHP Fatal error” /var/log/php7.x-fpm.log |
輪轉Nginx日志 | sudo logrotate -f /etc/logrotate.d/nginx |