在 Debian 上搭建的 LNMP(Linux + Nginx + MySQL/MariaDB + PHP) 环境中,日志位置一般比较固定。下面按组件说明如何查看日志。
# 访问日志
/var/log/nginx/access.log
# 错误日志
/var/log/nginx/error.log
# 实时查看错误日志
tail -f /var/log/nginx/error.log
# 查看最近 100 行访问日志
tail -n 100 /var/log/nginx/access.log
# 搜索关键字(如 500 错误)
grep " 500 " /var/log/nginx/access.log
如果你使用了 vhost(站点配置),日志可能在:
/var/log/nginx/你的域名.access.log
/var/log/nginx/你的域名.error.log
具体看 /etc/nginx/sites-enabled/ 里的配置。
# 常见位置
/var/log/php-fpm.log
/var/log/php7.4-fpm.log
/var/log/php8.1-fpm.log
在 php.ini 中定义:
log_errors = On
error_log = /var/log/php_errors.log
查看:
tail -f /var/log/php_errors.log
php --ini
或
php-fpm -i | grep "error_log"
# MySQL
/var/log/mysql/error.log
# MariaDB
/var/log/mysql/mariadb.err
查看:
tail -f /var/log/mysql/error.log
/var/log/mysql/mysql-slow.log
# 系统日志
journalctl -xe
# Nginx 服务日志
journalctl -u nginx
# PHP-FPM 服务日志
journalctl -u php-fpm
# 或
journalctl -u php7.4-fpm
# MySQL 服务日志
journalctl -u mysql
# 或
journalctl -u mariadb
nginx error.logphp-fpm.logphp_errors.logmysql/error.logls -l /var/log | grep -E "nginx|php|mysql"
如果你能告诉我:
我可以给你更精确的日志查看和解决方法。