XAMPP:Deamon已经在运行,但它不是apache

这个让我头疼……

我在Ubuntu 12.10上安装了XAMPP for Linux 1.7.7 。 我没有安装最新版本,因为新的安全“function”使XAMPP如此安全我无法运行它。 但这是另一个故事。

在安装并运行了几个月后,我现在得到了着名的XAMPP: Another web server daemon is already running. 启动XAMPP时出错。 现在我已经广泛搜索,可以排除以下内容:

  • 没有其他Apache安装,只有XAMPP
  • 没有运行apacheapache 2服务
  • 没有运行使用port 80 (使用netstat -an grep -w 80检查)

我也完成了xampp 1.7.7的全新安装,但这给了我相同的结果。 我想我已经在google的前两个结果页面上尝试了所有解决方案,而且我无法接近解决方案。

谁能指点我如何找到已经运行的神秘Webdeamon


我在httpd.conf中更改了XAMPP监听的端口,在我的例子中,它位于/opt/lampp/etc/文件夹中。 我更改了选项Listen,因为这是唯一一个值为80的选项。我仍然得到Deamon已经运行错误。

netstat命令的输出如下:

 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1189/tntnet tcp 0 0 192.168.178.52:35048 91.189.94.25:80 ESTABLISHED 2350/ubuntu-geoip-p tcp 0 0 192.168.178.52:35047 91.189.94.25:80 TIME_WAIT - 

我已经杀死了ubuntu-geoip-p服务,但找不到杀死tcp服务的方法,但我不认为必须杀死tcp服务才能启动apache。 无论如何,在此之后我仍然得到同样的错误。

还有其他建议吗?


lsof -i :80给出了不同的输出,我看到tntnet也使用了端口80.卸载的tntnet和apache正常启动。 问题解决了! 谢谢(你的)信息。

只需将此命令运行到终端即可

 sudo /etc/init.d/apache2 stop 

在那之后

 /opt/lampp/lampp/ start 

@TedvG更新2012年11月17日

ubuntu-geoip-p连接到端口80上的远程IP,因此它不相关。

看起来像tntnet(另一个Web服务器,这解释了它)进程是绑定端口80.你必须停止它(我猜service tntnet stop它,如果不杀死tntnet进程可能会kill -9 pid来杀死它)。 您也可以通过完成tntnet包卸载。

或者您可以更改apache端口,编辑lampp/etc/httpd.conf ,将端口更改为8080,例如:

 #Listen 12.34.56.78:80 Listen 8080 

使用lampp startapache启动它


默认情况下,XAMPP的apache使用端口80(需要root用于1024以下的端口),无论如何可以通过编辑$XAMPP/apache/conf/httpd.conf来更改它

你可以跑

 lsof -i :80 

要么

 netstat -nap | grep :80 

使用端口80确定进程

例如,如果我在端口8080上使用Python的SimpleHTTPServer模块

 $ lsof -i :8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 16484 terry 3u IPv4 367600 0t0 TCP *:http-alt (LISTEN) $ netstat -anp | grep :8080 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 16484/python 

非常清楚。

因为我不知道我是否需要tntnet ,并且不关心找到困难的方法,所以最好的选择似乎改变了Apache使用的端口。

使用最新版本的XAMPP,可以使用包含的GUI管理器轻松完成:

  1. 启动管理器(如果在64位上工作,请使用manager-linux-x64.run ):

     cd /opt/lampp sudo ./manager-linux.run 
  2. 切换到“管理服务器”选项卡,然后选择“Apache Web服务器”。 单击配置

    XAMPP服务器管理应用程序

  3. 将相应字段上的端口更改为例如8080 ,然后单击“ 确定”

    配置Apache Web Server对话框

  4. 单击“全部启动”,从应用程序启动所有服务器。

  5. 打开您喜欢的浏览器并转到http://localhost:8080 ; 它应该自动重定向到http://localhost:8080/xampp