温馨提示×

Debian下LNMP日志如何分析

小樊
44
2025-08-15 22:41:24
栏目: 智能运维

Debian下LNMP日志分析方法如下:

一、日志定位

  • Nginx:访问日志 /var/log/nginx/access.log,错误日志 /var/log/nginx/error.log
  • MySQL/MariaDB:慢查询日志 /var/log/mysql/slow.log,错误日志 /var/log/mysql/error.log
  • PHP-FPM:错误日志 /var/log/php-fpm/error.log

二、常用分析工具

  • 命令行工具
    • grep:搜索特定字符串(如错误码、IP)。
    • awk:统计状态码、提取字段(如统计404请求数)。
    • sed:文本替换或删除。
  • 可视化工具
    • GoAccess:实时分析Nginx日志,生成HTML报告。
      goaccess -f /var/log/nginx/access.log --log-format=COMBINED -o report.html  
      
    • ELK Stack:用于大规模日志的收集、分析和可视化。

三、典型分析场景

  • Nginx错误排查:通过error.log定位404/500等错误,结合access.log分析请求来源。
    grep "404" /var/log/nginx/access.log  # 查找404请求  
    awk '$9 == 500 {print $0}' /var/log/nginx/access.log  # 统计500错误  
    
  • MySQL性能优化:分析slow.log找出慢查询,使用mysqldumpslow工具排序。
    mysqldumpslow -s t -t 10 /var/log/mysql/slow.log  # 按时间排序前10条慢查询  
    
  • PHP异常监控:通过php-fpm.error.log查看进程崩溃、内存不足等问题。

四、日志管理技巧

  • 日志轮转:用logrotate避免日志过大,配置示例:
    sudo nano /etc/logrotate.d/nginx  
    # 添加以下内容(按天轮转,保留14天)  
    /var/log/nginx/*.log {  
        daily  
        rotate 14  
        compress  
        missingok  
    }  
    
  • 实时监控:通过tail -fjournalctl -f实时追踪日志流。

五、安全注意事项

  • 敏感日志需限制访问权限,避免泄露用户信息。
  • 定期备份重要日志,防止误删。

参考来源:[1,2,3,5,6,7,8,9,10,12,13,14]

0