在Debian系统上,LNMP(Linux+Nginx+MySQL/MariaDB+PHP)环境的日志主要分布在Nginx、MySQL/MariaDB、PHP-FPM三个核心组件,以下是具体的查看方法及注意事项:
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退出)
grep "error" /var/log/nginx/error.log # 筛选错误日志中的关键字
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脚本的执行错误、进程管理等问题,默认路径如下:
/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主日志
tail -f /var/log/php-fpm/www-data-*.log # 实时查看特定用户的PHP进程日志
grep "PHP Fatal error" /var/log/php-fpm.log # 筛选PHP致命错误
若需查看LNMP组件的系统级日志(如服务启动/停止记录),可使用journalctl
命令(适用于使用systemd的系统,Debian 8及以上默认启用):
journalctl -u nginx -f # 实时查看Nginx系统日志
journalctl -u mysql -f # 实时查看MySQL系统日志
journalctl -u php-fpm -f # 实时查看PHP-FPM系统日志
grep "access_log" /etc/nginx/nginx.conf # 查找Nginx访问日志路径
grep "error_log" /etc/nginx/nginx.conf # 查找Nginx错误日志路径
logrotate
工具自动轮转日志(配置文件位于/etc/logrotate.d/nginx
、/etc/logrotate.d/mysql
等),无需手动清理。sudo
权限(如sudo tail -f /var/log/mysql/error.log
)。通过以上方法,可快速定位LNMP环境中的问题(如Nginx无法访问、PHP脚本报错、数据库连接失败等)。若需更高级的日志分析(如实时可视化、告警),可结合ELK Stack、Graylog等工具使用。