我的问题源于我的网站无法在几乎全新安装的 Debian 和 ISPConfig 服务器上加载,仅 Apache 和 MariaDB。网站完全加载后,它会解决,但无法加载。运行apache2ctl status
指示返回许多 Apache 工作程序卡在“L”或日志状态。我清空了所有日志,但无济于事。随机地,我只是apache2
在终端上运行并看到一堆警告,表明未/etc/apache2/envvars
设置指定的任何变量。
我通常使用service apache2 restart
重新启动 Apache。在网上搜索后,我发现有时某个命令可能无法加载文件envvars
。因此我尝试使用以下命令重新启动:
service apache2 restart
apache2ctl restart
/etc/init.d/apache2 restart
这些都无法加载envvars
。获取文件 ( source /etc/apache2/envvars
) 可以使其工作,但只能工作一段时间,然后它就会停止工作,原因我无法确定。检查重启脚本,似乎envvars
已经解决了问题。
理想情况下,我不必每次都通过获取文件来应用临时修复。为什么它没有自动运行?
答案1
你可能必须这样做:
apache2ctl stop && apache2ctl start
或者
/etc/init.d/apache2 stop && /etc/init.d/apache2 start
因为仅“重新启动”似乎无法加载从生成的 envvars 文件envvars-std.in
。
答案2
我的解决方法是从 改为#!/bin/sh
inside #!/bin/bash
。/etc/init.d/apache2
这也许对你也有帮助 :)
答案3
我可以确认这个错误,因为我的 Web 服务器也遇到了同样的问题。偶尔我需要这样做source /etc/apache2/envvars
才能让它重新工作。我还在 Debian (Jessie) 上将 apache2 与 mariadb 结合使用。
有人知道这是怎么发生的吗?该如何解决这个问题?奇怪的是,我在其他网络服务器上没有遇到这个问题。