Ubuntu 上 Apache 日志“缺失”通常不是真的没了,而是路径、配置、权限或轮换这几类原因。下面按最常见情况给你排查清单。
apache2ctl -S
grep -R "ErrorLog" /etc/apache2/
grep -R "CustomLog" /etc/apache2/
常见位置:
/var/log/apache2/access.log/var/log/apache2/error.log如果你用的是 vhost,但没写:
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
那该站点不会有日志。
Ubuntu 默认会:
/etc/logrotate.d/apache2
可能看到:
access.log.1access.log.1.gz查看:
ls -lh /var/log/apache2/
zcat /var/log/apache2/access.log.1.gz | head
ls -ld /var/log/apache2
ps aux | grep apache
正确一般类似:
drwxr-x--- www-data adm
修复示例:
sudo chown -R www-data:adm /var/log/apache2
sudo chmod 750 /var/log/apache2
改完配置必须:
sudo apache2ctl configtest
sudo systemctl restart apache2
LogLevel warn
可临时调低:
LogLevel debug
ProxyPass 到 fpm,可能不记 accesssudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/apache2/access.log
sudo systemctl status apache2
你可以贴:
apache2 -vls -l /var/log/apache2我可以直接告诉你具体是哪一条配置问题。