无法在 Ubuntu 18.04 上启动 Apache2 服务器

无法在 Ubuntu 18.04 上启动 Apache2 服务器

错误截图

因此错误表明该地址已被使用。我已配置了/etc/hosts一些 DNS 映射到几个域。不确定这是否是导致问题的原因。

答案1

请仔细阅读。

执行以下命令,如果看到它是 apache,则在命令下面执行以下操作。
注意:您需要先安装 net-tools 包,然后才能运行 netstat。运行sudo apt install net-tools即可安装。

sudo netstat -antup | grep 80

您应该检查该行,例如<Your IP>:80
我认为它与 /etc/hosts 根本没有关联,因为它只是一个管理本地域(如您的计算机名称)的 DNS 的文件。localhost 也在此文件中给出,但它目前不执行任何操作,因为 localhost 由 DNS 本身管理。

请注意,当您在 Apache 运行时卸载它时可能会发生这种情况。我觉得 Apache 进程在后台运行,但 Apache 并未使用它。
如果您确定 Apache 当前未启动,请输入以下命令,希望它有所帮助。

该命令可以是:

killall -9 apache2

或者

killall -9 httpd

或者

killall -9 apache

如果在端口 80 上运行的程序无法停止,请将 apache 替换为其他程序的名称。如果它不起作用,请告诉我。谢谢。

答案2

可能是 Skype。我发现在启动 Skype 之前启动 Apache(或者如果我们要这样做的话,启动 nginx)对事情的顺利进行有很大帮助。与 cmak 的回复一样,sudo netstat -antup | grep 80很可能会返回 Skype。

/etc/hosts只能像 DNS 文件一样工作,它不是绑定到端口的。

希望这可以帮助。

编辑:为了清楚起见 - Skype 默认将绑定到 :80。Apache 和 NGinx 默认也绑定在 :80。您不能将两个服务绑定到同一个端口。如果您启动 Apache(或 NGinX,如果您要这样做,或任何类似的容器)您启动 Skype,Skype 应该安装到另一个端口。

最简单的方法(使用您的终端)是killall -9 Skype启动 Apache/NGinX,然后再次启动 Skype。

相关内容