我最近从 Windows 10 迁移到 Linux Ubuntu 19.04。我按照 18.04 ubuntu 的教程完成了 LAMP 的安装,一开始运行良好,直到我搞砸了。现在我无法启动 apache2,当我在终端上输入“sudo service apache2 start”命令时,它给出了此错误。
我尝试使用网络上的其他方法,包括清除并重新安装相关程序,但似乎无法一劳永逸地解决这个问题。
这是错误消息。希望能有所帮助。
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2019-08-24 23:37:56 PST; 9s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 14755 ExecStart=/usr/sbin/apachectl start (code=exited, status=127)
Aug 24 23:37:56 user-E5-575G systemd[1]: Starting The Apache HTTP Server...
Aug 24 23:37:56 user-E5-575G apachectl[14755]: /usr/sbin/apachectl: 174: /usr/sbin/apachectl: /usr/sbin/apache2: not found
Aug 24 23:37:56 user-E5-575G apachectl[14755]: Action 'start' failed.
Aug 24 23:37:56 user-E5-575G apachectl[14755]: The Apache error log may have more information.
Aug 24 23:37:56 user-E5-575G systemd[1]: apache2.service: Control process exited, code=exited, status=127/n/a
Aug 24 23:37:56 user-E5-575G systemd[1]: apache2.service: Failed with result 'exit-code'.
Aug 24 23:37:56 user-E5-575G systemd[1]: Failed to start The Apache HTTP Server.
答案1
您应该小心地清除东西,它可能会弄乱依赖关系,特别是当您强制执行它时。
我只能猜测你可能清除了主包,然后一些依赖项仍然存在,然后当你重新安装它时,所有必需的依赖项都没有重新安装。
您特别缺少的软件包是 apache2-bin,它是 apache2 的依赖项,可能未被正确删除或重新安装。
因此首先尝试使用以下命令进行安装:
sudo apt-get --reinstall install apache2-bin
如果这不起作用则执行以下操作:
sudo apt-get purge apache2
sudo apt-get autoremove
sudo apt-get install apache2
如果这仍然不起作用,您可以尝试执行以下操作:
sudo apt-get --reinstall install apache2
在卸载或清除之后,请务必记住执行自动删除,以确保在尝试重新安装之前,孤立的软件包也被删除。
希望有所帮助。
答案2
根据您的错误消息,systemd 找不到您的 apache 二进制文件。可能它没有正确安装。您应该卸载并重新安装。
sudo apt purge apache2 && sudo apt install apache2
如果这不起作用,您是否有可能除了从 apt 安装之外还从源代码安装了 apache?如果是这样,则默认安装位置将是/usr/bin/
您需要更新 systemd 脚本才能转到那里。