系统日志是排查服务器问题的第一手资料。
主要日志文件
| 日志文件 | 内容 |
|---|---|
/var/log/syslog | 系统综合日志 |
/var/log/auth.log | 认证和安全性日志 |
/var/log/kern.log | 内核日志 |
/var/log/nginx/access.log | Nginx 访问日志 |
/var/log/nginx/error.log | Nginx 错误日志 |
/var/log/mysql/error.log | MySQL 错误日志 |
journalctl 使用
# 查看所有日志 journalctl # 查看指定服务日志 journalctl -u nginx journalctl -u ssh # 按时间过滤 journalctl --since "1 hour ago" journalctl --since "2024-01-01" --until "2024-01-02" # 实时跟踪 journalctl -f # 查看最近 20 行 journalctl -n 20 # 限制日志大小 sudo journalctl --vacuum-size=100M
logrotate 日志轮转
编辑 /etc/logrotate.d/nginx:
/var/log/nginx/*.log {
daily
rotate 14
compress
delaycompress
missingok
notifempty
create 640 www-data adm
postrotate
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
endscript
}