首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Apache在文件error.log不存在时停止

为什么Apache在文件error.log不存在时停止
EN

Stack Overflow用户
提问于 2018-08-01 13:37:25
回答 1查看 754关注 0票数 0

为什么Apache服务器在某些路径设置错误时停止工作,或者在我的例子中--文件不存在?这是我的配置:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName toma-coreshop.webbuild.com
    DocumentRoot /home/projects/toma/toma-coreshop

    <Directory /home/projects/toma/toma-coreshop>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
ErrorLog /home/projects/toma/toma-coreshop/logs/error.log
</VirtualHost>

现在error.log文件不存在了,整个服务器都掉了。其他域也不起作用。为什么会出现这种行为?感谢任何有用的链接。提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-01 19:02:09

首先,如果errorlog指令中指定的目录路径存在,Apache2.4将创建一个日志文件。

仅当缺少目录时才会出现此问题。

在Apache (重新)启动期间,它会检查配置是否有错误。当修改配置时出现错误,但Apache未重新启动,因此仍在运行时,可以手动执行相同的操作:

代码语言:javascript
复制
# apachectl -t
(2)No such file or directory: AH02291: Cannot access directory '/var/www/example.com/nologs/' for error log of vhost defined at /etc/httpd/conf/plesk.conf.d/vhosts/example.com.conf:10
AH00014: Configuration check failed

Strace显示,在重新启动期间,Apache会检查所有指定的错误日志目录:

代码语言:javascript
复制
# strace /usr/sbin/httpd
...
stat("/etc/httpd/logs/", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
...
stat("/var/www/example.com/nologs/", 0x7ffff84f3140) = -1 ENOENT (No such file or directory)
write(2, "(2)No such file or directory: AH"..., 203(2)No such file or directory: AH02291: Cannot access directory '/var/www/example.com/nologs/' for error log of vhost defined at /etc/httpd/conf/plesk.conf.d/vhosts/example.com.conf:10
) = 190
write(2, "AH00014: Configuration check fai"..., 36AH00014: Configuration check failed
) = 36

看起来,能够访问错误日志对于Apache的正常运行非常重要。同时,Apache不会随意创建日志目录的完整路径。

其他服务(如PHP-FPM )也显示相同的行为

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51625970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档