溫馨提示×

Ubuntu上LNMP日志如何分析

小樊
48
2025-08-31 12:51:21
欄目: 智能運維

Ubuntu上LNMP日志分析方法如下:

一、日志文件位置

  • Nginx/var/log/nginx/access.log(訪問日志)、/var/log/nginx/error.log(錯誤日志)。
  • MySQL/var/log/mysql/error.log(錯誤日志)、/var/log/mysql/slow.log(慢查詢日志,需手動開啟)。
  • PHP/var/log/php-fpm.log/var/log/php7.x-fpm.log(錯誤日志,需在php.ini中配置)。
  • 系統/var/log/syslog、/var/log/auth.log(認證日志)。

二、常用分析命令

  • 查看實時日志
    tail -f /var/log/nginx/access.log(實時查看訪問日志)。
  • 搜索關鍵字
    grep 'ERROR' /var/log/nginx/error.log(篩選錯誤日志中的關鍵字)。
  • 統計分析
    awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr(統計訪問IP頻率)。
  • 排序慢查詢
    sort -k4 -nr /var/log/mysql/slow.log | head -10(按執行時間排序慢查詢日志)。

三、工具輔助分析

  • 基礎工具
    • awk:提取日志字段(如IP、時間、狀態碼)。
    • sed:替換或刪除日志中的冗余信息。
    • logrotate:自動切割日志,避免文件過大。
  • 可視化工具
    • GoAccess:實時生成HTML報告,展示訪問趨勢、狀態碼分布等。
    • ELK Stack:用于大規模日志的存儲、搜索和可視化分析。

四、典型分析場景

  • Nginx錯誤排查
    • 通過error.log定位“502 Bad Gateway”等錯誤,查看上游服務(如PHP-FPM)是否異常。
    • 分析access.log中的404/500狀態碼,排查無效請求或后端接口問題。
  • MySQL性能優化
    • 通過slow.log識別執行時間過長的SQL,使用EXPLAIN分析執行計劃,優化索引。
  • PHP錯誤定位
    • 根據php-fpm.log中的語法錯誤(如未定義函數)或致命錯誤,快速定位代碼問題。

五、注意事項

  • 定期清理舊日志,避免占用磁盤空間(可通過logrotate配置)。
  • 生產環境中建議關閉PHP的display_errors,僅記錄日志。
  • 敏感信息(如數據庫密碼)需從日志中脫敏處理。

參考來源:[1,2,3,5,6,8,9,10,11,12,13,14]

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女