在CentOS环境下,LNMP(Linux+Nginx+MySQL+PHP)组合的日志通常分布在对应服务的默认路径中,以下是各组件的日志位置及常用查看命令,覆盖实时监控、历史记录查询等场景。
Nginx的日志分为访问日志(记录客户端请求详情)和错误日志(记录服务端错误信息),路径及查看方法如下:
/var/log/nginx/access.log,记录所有客户端请求的IP、时间、请求方法、响应状态等信息。
sudo tail -f /var/log/nginx/access.logsudo tail -n 100 /var/log/nginx/access.log/var/log/nginx/error.log,记录Nginx启动、运行中的错误(如配置错误、连接失败)。
sudo tail -f /var/log/nginx/error.logsudo grep "502" /var/log/nginx/error.log若日志路径被自定义,可通过Nginx主配置文件(/etc/nginx/nginx.conf)中的access_log和error_log指令确认。
MySQL的日志涵盖错误日志(数据库服务异常)、慢查询日志(性能瓶颈查询)、通用查询日志(所有查询记录),路径及查看方法如下:
/var/log/mysql/error.log(或/var/log/mysqld.log,取决于MySQL版本),记录数据库启动、关闭及运行错误。
sudo tail -f /var/log/mysql/error.log/etc/my.cnf)中添加以下参数启用:[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2 # 记录执行时间超过2秒的查询
重启MySQL后,可通过sudo tail -f /var/log/mysql/slow-query.log查看慢查询记录。[mysqld]
general_log = 1
general_log_file = /var/log/mysql/mysql.log
重启后记录所有客户端查询,查看命令:sudo tail -f /var/log/mysql/mysql.log。PHP-FPM(FastCGI进程管理器)的日志分为错误日志(PHP运行时错误)和访问日志(PHP脚本访问情况),路径及查看方法如下:
/var/log/php-fpm/error.log,记录PHP脚本执行中的语法错误、致命错误等。
sudo tail -f /var/log/php-fpm/error.log/etc/php-fpm.d/www.conf)中的error_log指令,确保路径正确并重启服务:sudo systemctl restart php-fpm。/var/log/php-fpm/access.log,记录PHP脚本的访问详情(如执行时间、脚本路径),需在www.conf中启用access_log指令。若需查看LNMP服务的系统级日志(如服务启动失败、权限问题),可使用journalctl命令:
sudo journalctl -u php-fpmsudo journalctl -u nginxsudo journalctl -u mysqld(或mysql,取决于服务名)sudo journalctl -fgrep快速定位特定错误(如“ERROR”“500”),例如sudo grep "ERROR" /var/log/mysql/error.log。awk和sort统计访问日志中Top 10 IP,例如:sudo awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
grep和日期过滤,例如查看2025-11-08的Nginx错误日志:sudo grep "2025-11-08" /var/log/nginx/error.log。以上方法覆盖了CentOS下LNMP各组件的日志查看需求,可根据具体问题选择对应的日志类型和命令,快速定位和解决问题。