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

abo*_*ted 1 linux ubuntu apache-2.4 ubuntu-14.04

$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jan 14 2016 17:45:23
Run Code Online (Sandbox Code Playgroud)

我的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
Run Code Online (Sandbox Code Playgroud)

我还恢复了 中的所有更改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
Run Code Online (Sandbox Code Playgroud)

Col*_*olt 5

您缺少 的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
Run Code Online (Sandbox Code Playgroud)

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

另请注意:该/usr/sbin/目录是一个共享目录,其中包含通常可以使用 root 权限访问的所有脚本。鉴于您不知道文件是如何apache2丢失的,您可能会遇到超出此问题甚至超出apache2.

  • 鉴于您不知道_丢失的文件发生了什么_,或者其他哪些文件可能被弄乱_,您可能需要考虑[删除_或_清除](http://manpages.ubuntu.com/manpages/xenial/en/man8 /apt-get.8.html) `apache2` 包并再次安装。根据您的操作方式,您的配置和站点文件可能会在服务器上丢失,因此**请确保您拥有所有 _your_ 文件和配置的“apache2”文件的备份**。 (2认同)