第一个问题:为什么有两个错误日志文件?一个是/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
答案1
两个错误日志文件,因为整个服务器都有一个错误日志文件(涉及启动错误和影响所有虚拟主机的问题),并且虚拟主机中的错误日志仅限于与该虚拟主机有关的事件特定的错误消息。(例如 404 错误)
第二:
当 Apache 以 root 身份启动时(为了能够绑定到特权端口 80 和 443),它可以放弃特权,随后将以 User 指令中定义的用户身份运行:Apache。日志文件在启动时打开(在放弃特权之前),因此由启动 Apache Ie root 的用户拥有。