这个让我头疼...
我已经XAMPP for Linux 1.7.7
在 Ubuntu 12.10 上安装了。我没有安装最新版本,因为新安全“功能”使其XAMPP
过于安全,我无法运行它。但那是另一个故事。
安装并正常运行几个月后,现在我XAMPP: Another web server daemon is already running.
在启动 XAMPP 时遇到了著名的错误。现在我已经在 Google 上进行了广泛的搜索,可以排除以下情况:
- 没有其他
Apache
安装,只是XAMPP
- 没有
apache
正在apache 2
运行的服务 - 没有正在运行使用
port 80
(已检查netstat -an grep -w 80
)的服务
我也重新安装了xampp
1.7.7,但结果是一样的。我想我已经尝试了谷歌前两个结果页面上的所有解决方案,但仍然没有找到解决方案。
有人能指点我如何找到Webdeamon
已经运行的神秘事物吗?
我在 httpd.conf 中更改了 XAMPP 监听的端口,在我的情况下,该端口位于/opt/lampp/etc/
文件夹中。我更改了 Listen 选项,因为这是唯一一个值为 80 的选项。但我仍然收到 Deamon already running-error 错误。
该命令的输出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 正常启动。问题解决了!谢谢提供信息。
答案1
只需在终端运行此命令即可
sudo /etc/init.d/apache2 stop
在那之后
/opt/lampp/lampp/ start
答案2
@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(1024 以下的端口需要 root 权限),无论如何都可以通过编辑来更改$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
非常清楚。
答案3
因为我不知道是否需要tntnet
,并且不想费力地寻找答案,所以最好的选择似乎是更改 Apache 使用的端口。
使用最新版本的 XAMPP,可以使用附带的 GUI 管理器轻松完成此操作:
启动管理器(
manager-linux-x64.run
在 64 位系统上使用):cd /opt/lampp sudo ./manager-linux.run
切换到“管理服务器”选项卡并选择“Apache Web 服务器”。点击配置:
将相应字段上的端口更改为,例如,
8080
然后单击好的:单击从应用程序启动所有服务器全部开始。
打开您最喜欢的浏览器并转到
http://localhost:8080
;它应该会自动重定向到http://localhost:8080/xampp
。