无法启动 Apache,配置测试失败:“env:apache2ctl:没有此文件或目录”

无法启动 Apache,配置测试失败:“env:apache2ctl:没有此文件或目录”
$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jan 14 2016 17:45:23

我的 Ubuntu 版本是 14.04。

我正在修复一些问题/etc/apache2/sites-available/000-default.conf,然后下次重新启动 Apache 时,我不断收到这个奇怪的错误:

$ sudo service apache2 reload
 * Reloading web server apache2      [fail]                                                                          * 
 * The apache2 configtest failed. Not doing anything.
Output of config test was:
env: apache2ctl: No such file or directory

我也恢复了中的所有更改000-default.conf,但问题仍未得到解决。

我不明白如何会导致这个问题,也不知道如何解决它。

非常感谢您的帮助。


最新的 Apache 错误日志:

[Sun Jun 05 11:50:26.341221 2016] [mpm_worker:notice] [pid 6035:tid 118764177487744] AH00292: Apache/2.4.7 (Ubuntu) configured -- resuming normal operations
[Sun Jun 05 11:50:26.341266 2016] [core:notice] [pid 6035:tid 118764177487744] AH00094: Command line: '/usr/sbin/apache2'
[Sun Jun 05 12:15:51.071093 2016] [mpm_worker:notice] [pid 6035:tid 118764177487744] AH00295: caught SIGTERM, shutting down

答案1

您缺少apache2ctl脚本和符号链接apachectl。对于 Ubuntu 14.04,两者都应位于/usr/sbin/具有以下日期(正常安装、升级)和权限的目录中:

-rwxr-xr-x 1 root root   6402 Jan  3  2014 /usr/sbin/apache2ctl
lrwxrwxrwx 1 root root     10 Jan 14 17:46 /usr/sbin/apachectl -> apache2ctl

如果您有系统备份,则应该可以恢复。如果没有,则需要修复 Apache2 安装。

还请注意:该/usr/sbin/目录是共享包含所有脚本的目录,通常需要 root 权限才能访问。鉴于您不知道如何文件apache2丢失了,你可以存在超出这个问题甚至超出的问题apache2

答案2

env:apache2ctl:没有这样的文件或目录

我手边没有 Ubuntu 系统,但看起来 PATH 可能格式不正确,env找不到apache2ctl

答案3

为我解决问题的方法是运行以下命令(Ubuntu):

sudo apt install apache2

它安装了缺失的 apache2ctl,同时保持其他一切不变。

相关内容