CentOS下查看Nginx日志的常用方法
在CentOS系统中,Nginx的默认日志文件通常存放在/var/log/nginx/目录下,主要包括两类核心日志:
access.log;error.log。若日志路径未采用默认配置,可通过以下命令查看实际路径:
grep -E 'access_log|error_log' /etc/nginx/nginx.conf
# 或检查站点配置文件(如/etc/nginx/sites-available/default)
**tail -f**是实时监控日志更新的常用命令,适用于快速查看最新日志条目:
sudo tail -f /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log
按Ctrl + C可停止实时监控。
cat命令:一次性输出日志文件的全部内容(适合小文件):sudo cat /var/log/nginx/access.log
sudo cat /var/log/nginx/error.log
less命令:分页查看日志内容(适合大文件,支持上下翻页、搜索):sudo less /var/log/nginx/access.log
# 按“/”键可搜索关键词(如“404”),按“q”键退出
**grep**命令用于过滤日志中的特定关键词,帮助快速定位问题:
sudo grep '404' /var/log/nginx/access.log
sudo tail -f /var/log/nginx/error.log | grep 'connection refused'
sudo awk '/\[.*\]/ && $9 == 500' /var/log/nginx/access.log | wc -l
若需要分析某一时间段的日志,可使用awk或sed筛选:
sudo awk '$4 >= "[01/Oct/2025:00:00:00" && $4 <= "[01/Oct/2025:23:59:59"' /var/log/nginx/access.log
sudo sed -n '/\[25/Sep/2025:14:[0-5][0-9]:[0-5][0-9]\]/,/^\[/p' /var/log/nginx/error.log
对于大规模日志数据,建议使用专业工具进行分析:
sudo yum install goaccess -y
sudo goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED
访问http://服务器IP/report.html即可查看可视化报告。nginx或www-data)是否有读取权限;logrotate工具),避免日志文件占用过多磁盘空间;sudo systemctl restart nginx