第一个问题:为什么会有两个错误日志文件?一种是 /var/www/mywebsite/error.log,<VirtualHost>
在 ErrorLog 指令中指定。另一个是 /var/log/httpd/error_log。我找不到它的定义位置。/etc/httpd/conf/httpd.conf 外面有一行<VirtualHost>
:
ErrorLog "logs/error_log"
但我认为这与/var/log/httpd/error_log 不对应。
第二个问题:为什么两个错误日志文件的所有者都是 root:root,而不是 /etc/httpd/conf/httpd.conf 中指定的 apache:apache:
User apache
Group apache
两个错误日志文件,因为有一个用于整个服务器(关于启动错误和影响所有虚拟主机的问题),并且虚拟主机中的错误日志仅限于特定于与该虚拟主机有关的事件的错误消息。(例如 404 错误)
第二:
当 Apache 以 root 身份启动(以便能够绑定到特权端口 80 和 443)时,它可以放弃特权,随后将以 User 指令中定义的用户身份运行:Apache。日志文件在启动时打开(在删除权限之前),因此归启动 Apache Ie root 的用户所有。