每次我在服务器的控制面板中添加新域时,Apache 服务器和作为前端代理的 nginx 都应该重新启动 - nginx 重新加载,apache 优雅地运行。
然而,它抛出了 nginx 错误页面,然后一切都死机(未找到这样的页面)所以 nginx 也关闭了,然后所有服务重新启动并且一切都正常工作,直到添加/删除下一个域。
为什么显示没有这样的文件或目录?
[Mon Sep 15 00:48:55 2014] [notice] Apache/2.2.29 (Unix) DAV/2 mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_python/3.3.1 Python/2.6.6 mod_rpaf/0.6 mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Mon Sep 15 00:49:39 2014] [error] child process 22371 still did not exit, sending a SIGKILL
[Mon Sep 15 00:50:06 2014] [alert] (2)No such file or directory: FastCGI: read() from pipe failed (0)
[Mon Sep 15 00:50:06 2014] [alert] (2)No such file or directory: FastCGI: the PM is shutting down, Apache seems to have disappeared - bye
[Mon Sep 15 00:50:10 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
另一项测试:
nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
和
httpd -t
Syntax OK
答案1
“没有这样的文件或目录”可能是对 Apache 配置中不存在的模块的引用。配置不会说它丢失了,并将其作为 OK 传递给您,但是服务器不会启动,因为模块仍然不存在。我会说查看使用 FastCGI 作为包装器的插件(例如 PHP,这个问题发生在我身上)并禁用它们,逐个重新启用,直到再次发现错误。有时会出现此错误,因为您的服务器正在服务器路径中寻找扩展,而扩展位于其他地方(因此,没有这样的文件或目录)。