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

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

如何摆脱apache2在端口80上运行的任何东西?

你可以通过做这样的事情再次检查是否有任何进程正在运行: –

ps aux | grep apache 

如果apache2仍在运行,则会显示结果

杀了他们使用

 sudo killall apache2 

你将需要确定为什么进程从init控制中变成红色。 如果你正在运行一个非常繁忙的apache服务器,这可能会发生,这将表明有一些性能相关的问题,但原因很多。

请检查是否没有运行其他Web应用程序,可能会使用/ usr / sbin / apache2 -d statment手动启动apache2甚至是mod的http版本。 我怀疑它,因为你更可能会招致端口locking问题,特别是如果使用标准端口

当然,apache日志是什么意思?

显然,Apache Web服务器正在运行。 init.d脚本并不是那么聪明,并且在发出命令并返回命令提示符后,并不检查所有httpd进程是否正在运行。 你必须检查确定。

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

我有一个类似的问题,发现它实际上是运行在80端口的Nginx,并拿起了Apache的默认页面! 这篇文章帮助解决了。