温馨提示×

LNMP在Debian上的日志如何查看

小樊
38
2025-10-12 09:41:41
栏目: 智能运维

Debian系统上LNMP日志查看方法汇总

在Debian系统上,LNMP(Linux+Nginx+MySQL/MariaDB+PHP)环境的日志主要分布在Nginx、MySQL/MariaDB、PHP-FPM三个核心组件,以下是具体的查看方法及注意事项:

一、Nginx日志查看

Nginx的日志分为访问日志(记录用户请求详情)和错误日志(记录服务运行异常),默认路径如下:

  • 访问日志/var/log/nginx/access.log
  • 错误日志/var/log/nginx/error.log

常用查看命令

  • 实时查看最新日志(推荐):
    tail -f /var/log/nginx/access.log      # 实时查看访问日志
    tail -f /var/log/nginx/error.log        # 实时查看错误日志
    
  • 查看完整日志内容(静态查看):
    cat /var/log/nginx/access.log           # 查看完整访问日志
    less /var/log/nginx/error.log           # 分页查看错误日志(按q退出)
    
  • 搜索特定关键词(如“error”):
    grep "error" /var/log/nginx/error.log   # 筛选错误日志中的关键字
    

二、MySQL/MariaDB日志查看

MySQL/MariaDB的日志主要用于排查数据库连接、查询或权限问题,默认路径如下:

  • 错误日志/var/log/mysql/error.log(Debian默认启用)
  • 通用查询日志(可选):/var/log/mysql/mysql.log(需手动开启,记录所有SQL语句)

常用查看命令

  • 实时查看错误日志
    tail -f /var/log/mysql/error.log        # 实时查看数据库错误日志
    
  • 查看通用查询日志(若已开启):
    tail -f /var/log/mysql/mysql.log        # 实时查看所有SQL查询
    
  • 查看慢查询日志(需配置):
    若开启了慢查询日志(路径通常为/var/log/mysql/slow.log),可使用以下命令查看:
    tail -f /var/log/mysql/slow.log         # 实时查看慢查询日志
    

三、PHP-FPM日志查看

PHP-FPM的日志记录了PHP脚本的执行错误、进程管理等问题,默认路径如下:

  • 主日志文件/var/log/php-fpm.log(部分系统可能为/var/log/php7.x-fpm.log,如PHP 7.4则为/var/log/php7.4-fpm.log
  • 进程级日志(可选):/var/log/php-fpm/www-data-*.log(按用户/进程分割,更细粒度)

常用查看命令

  • 实时查看主日志
    tail -f /var/log/php-fpm.log            # 实时查看PHP-FPM主日志
    
  • 实时查看进程级日志(如www-data用户):
    tail -f /var/log/php-fpm/www-data-*.log # 实时查看特定用户的PHP进程日志
    
  • 查看特定错误(如“PHP Fatal error”):
    grep "PHP Fatal error" /var/log/php-fpm.log  # 筛选PHP致命错误
    

四、系统级日志查看(可选)

若需查看LNMP组件的系统级日志(如服务启动/停止记录),可使用journalctl命令(适用于使用systemd的系统,Debian 8及以上默认启用):

  • 查看Nginx系统日志
    journalctl -u nginx -f                  # 实时查看Nginx系统日志
    
  • 查看MySQL/MariaDB系统日志
    journalctl -u mysql -f                  # 实时查看MySQL系统日志
    
  • 查看PHP-FPM系统日志
    journalctl -u php-fpm -f                # 实时查看PHP-FPM系统日志
    

注意事项

  1. 日志路径确认:若日志路径与上述不一致,可通过以下命令查找(以Nginx为例):
    grep "access_log" /etc/nginx/nginx.conf  # 查找Nginx访问日志路径
    grep "error_log" /etc/nginx/nginx.conf   # 查找Nginx错误日志路径
    
  2. 日志轮转:为避免日志文件过大,Debian默认使用logrotate工具自动轮转日志(配置文件位于/etc/logrotate.d/nginx/etc/logrotate.d/mysql等),无需手动清理。
  3. 权限问题:查看系统日志可能需要sudo权限(如sudo tail -f /var/log/mysql/error.log)。

通过以上方法,可快速定位LNMP环境中的问题(如Nginx无法访问、PHP脚本报错、数据库连接失败等)。若需更高级的日志分析(如实时可视化、告警),可结合ELK Stack、Graylog等工具使用。

0