在Debian上使用LNMP(Linux, Nginx, MySQL/MariaDB, PHP)進行日志管理,可以采用以下幾種方法:
tail -f /var/log/nginx/access.log 命令實時查看訪問日志。tail -f /var/log/nginx/error.log 命令實時查看錯誤日志。logrotate 工具進行日志輪轉,避免日志文件過大。logrotate:sudo apt update && sudo apt install logrotatelogrotate:編輯 /etc/logrotate.d/nginx 文件,設置日志輪轉規則。例如,每天分割一次Nginx訪問日志,并保留最近30天的日志文件。/var/log/nginx/*.access {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 0644 root adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 $(cat /var/run/nginx.pid)
fi
endscript
}
logrotate:sudo logrotate -d /etc/logrotate.conf(測試配置文件是否有語法錯誤)或 sudo logrotate -f /etc/logrotate.conf(強制執行日志輪轉)。log_format 指令定義日志格式:http {
log_format my_custom_format 'remote_addr - remote_user [time_local] ' '"request " status body_bytes_sent ' '"http_referer " " http_user_agent "' ;
access_log /var/log/nginx/access.log my_custom_format;
}
server 或 location 塊中使用 access_log 和 error_log 指令記錄日志。journalctl 命令查看全部日志、指定服務日志,并按時間過濾。
journalctljournalctl -u 服務名journalctl --since "2024-01-01" --untillogrotate 進行自動分割,避免單個文件過大。通過上述方法,你可以在Debian上有效地管理LNMP環境的日志,確保系統安全和性能優化。