温馨提示×

Ubuntu LNMP日志管理方法是什么

小樊
52
2025-09-16 13:10:30
栏目: 智能运维

Ubuntu LNMP(Linux+Nginx+MySQL+PHP)日志管理方法如下:

一、日志分类与位置

  • Nginx:访问日志 /var/log/nginx/access.log、错误日志 /var/log/nginx/error.log
  • MySQL:错误日志 /var/log/mysql/error.log、慢查询日志 /var/log/mysql/slow.log
  • PHP:PHP-FPM错误日志 /var/log/php-fpm.log,可通过php.ini配置自定义日志路径。

二、核心管理工具

  1. Logrotate(自动轮转)

    • 安装sudo apt-get install logrotate
    • 配置:在 /etc/logrotate.d/ 下创建配置文件(如nginxmysql),设置轮转规则(每日轮转、保留7天、压缩等)。
      示例(Nginx)
      /var/log/nginx/*.log {  
          daily  
          rotate 7  
          compress  
          missingok  
          postrotate  
              [ -f /var/run/nginx.pid ] && kill -USR1 $(cat /var/run/nginx.pid)  
          endscript  
      }  
      
  2. Rsyslog(系统日志管理)

    • 安装sudo apt-get install rsyslog
    • 配置:编辑 /etc/rsyslog.conf,将PHP或Nginx日志重定向到指定文件。
  3. ELK Stack(高级分析)

    • 组成:Elasticsearch(存储)、Logstash(采集处理)、Kibana(可视化)。
    • 配置:通过Logstash采集Nginx/MySQL日志,存储至Elasticsearch,用Kibana生成图表。

三、常用操作

  • 实时查看日志
    • Nginx:tail -f /var/log/nginx/access.log
    • MySQL:tail -f /var/log/mysql/error.log
  • 日志分析
    • 使用awk/grep过滤关键信息,如grep "404" /var/log/nginx/access.log
    • pt-query-digest分析MySQL慢查询日志(需安装Percona工具包)。
  • 权限与安全
    • 确保日志文件权限为640,仅允许特定用户访问。
    • 定期备份重要日志至远程存储。

四、最佳实践

  • 按需调整日志级别:Nginx中可通过error_log指令设置日志级别(如warnerror)。
  • 分离日志类型:将访问日志与错误日志分开存储,便于分析。
  • 监控与告警:结合Prometheus+Grafana监控日志文件变化,异常时触发告警。

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

0