即使“停止” apache2 服务后,默认 Apache 页面仍显示在 localhost:80 上

即使“停止” apache2 服务后,默认 Apache 页面仍显示在 localhost:80 上

我在 Ubuntu 12.10 上运行 apache2。当我使用命令“service apache2 status”时,它报告 apache 未运行,出于某种原因,apache 默认网页继续在端口 80 上运行。在我的 sites-available 文件夹中,我有一个基于 python 的应用程序,它被分配到端口 80,但是当我重新加载并重新启动 Apache2 服务并在浏览器中输入 localhost 时,它继续运行默认页面。

我怎样才能摆脱在端口 80 上运行的 apache2?

答案1

您可以通过执行以下操作来仔细检查是否没有仍在运行的进程:-

ps aux | grep apache

如果 apache2 仍在运行,它将显示结果

使用杀死他们

sudo killall apache2

您需要确定为什么该过程会不受控制init。如果您正在运行一个非常繁忙的 Apache 服务器,就会发生这种情况,这表明存在一些与性能相关的问题,但造成这种情况的原因有很多。

检查是否有其他 Web 应用程序正在运行,这些应用程序可能会使用 /usr/sbin/apache2 -d 语句手动启动 apache2 或 mod 版本的 httpd。但我对此表示怀疑,因为您更有可能遇到端口锁定问题,尤其是当两者都使用标准端口时

当然,apache 日志说了什么?

答案2

对于从 Google 登陆此处的其他人,请尝试运行sudo netstat -lnp以检查哪个进程正在监听端口 80

我遇到了类似的问题,发现实际上是 Nginx 在端口 80 上运行并获取了 Apache 默认页面!帖子帮助我弄清楚了。

答案3

显然,apache web 服务器正在运行。init.d 脚本实际上并不是那么智能,在发出命令并返回命令提示符后,它不会检查所有 httpd 进程是否都在运行。您必须进行检查才能确定。

相关内容