XAMPP:另一个Web服务器守护程序已在运行?

时间:2013-06-11 06:40:30

标签: linux apache unix ubuntu xampp

如果我运行了另一个apache / web-server实例,我已经痛苦地分析了昨天所有这些命令

ps aux
ps -e
lsof 
netstat tunap

我没有在端口8080上运行Apache或任何其他服务器的另一个实例。

然而,XAMPP给了我这个:

XAMPP: Another web server daemon is already running

我该怎么办?

我还将httpd.conf编辑为LISTEN到端口9876,仍然是相同的。

11 个答案:

答案 0 :(得分:14)

 sudo rm /opt/lampp/logs/httpd.pid
// get listen pid
 sudo netstat -nap | grep :80

输出示例:

tcp6   0  0 :::80  :::*  LISTEN  14417/httpd

PID为14417

kill proc

 sudo kill 14417

启动/重启lampp服务器

 sudo /opt/lampp/lampp restart

答案 1 :(得分:9)

如果:

lsof -Pi |grep 8080        returns no results
netstat -na |grep 8080     returns no results
ps -ef                     shows no web server processes

然后可能是启动器正在检查的锁定文件?这些通常在/ var / run下找到,但不一定非必要。在这一点上,我通常会运行strace来看看发生了什么:

strace -e read = all -e write = all -f -o strace.out your_startup_command

然后打开strace.out,在输出中搜索“.. is already running”字符串,并开始查看其上方的行以查看失败的内容。

答案 2 :(得分:6)

我也没有运行任何服务器,但我发现这个命令救了我:

sudo lsof -i :80

它为我显示了这样的内容:

COMMAND     PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Skype      4275    root   61u  IPv4 0x869da9d5a8e5506b      0t0  TCP *:http (LISTEN)

因此杀死Skype使其发挥作用。

答案 3 :(得分:3)

注意启动脚本中的端口检查

如果您更改了xampp apache以收听另一个端口(/opt/lampp/etc/httpd.conf - >" Listen 80"现在是" Listen 82") ,那么你还必须在/ opt / lampp / xampp启动脚本中更改端口检查。

只需在/ opt / lampp / xampp中搜索

'Another web server is already running.'

并在前面的行中搜索:

if testport 80

将其更改为:

if testport 82

通过它,您可以在端口82上启动xampp并使常规Web服务器保持在端口80上运行。

答案 4 :(得分:2)

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/mysql stop
sudo /etc/init.d/proftpd stop

此解决方案似乎有效。你必须重启lampp:

sudo /opt/lampp/lampp restart

在遇到类似问题后,针对Ubuntu 12.04测试了解决方案。

答案 5 :(得分:1)

我解决了这个问题,禁用了ssl port

sudo /opt/lampp/lampp disablessl

然后

sudo /opt/lampp/lampp start

答案 6 :(得分:1)

您可以使用以下命令从命令外壳执行该操作:

sudo netstat -ltnp | grep :80

在最后一列中,您将看到:pid / process_name。您可以在下面的命令中稍后使用该命令来停止进程:

 ps aux | grep process_name

在尝试使用:: sudo /opt/lampp/lampp restart

重新启动lampp之后

答案 7 :(得分:1)

下面的命令应该对我有用

  sudo service apache2 stop

然后

  sudo /opt/lampp/lampp restart

答案 8 :(得分:0)

上述解决方案对我不起作用。但是此解决方案确实可以-

sudo apachectl stop

然后重新启动apache,mysql(如果XAMPP GUI可用)或从终端(在Ubuntu中)重新启动-

sudo /opt/lampp/lampp restart

答案 9 :(得分:0)

首先运行 sudo xampp 它应该显示可用操作的列表。如果没有,那么xampp安装有问题(这是另一个问题)。

第二次运行 sudo /opt/lampp/manager-linux-x64.run 这将打开一个 GUI。在 GUI 中,您可以启动和停止服务器(apache、sql)。它可能在大多数情况下有效。

如果它不是在 GUI 中启动,则更改端口。 (有一个选项可以在 GUI 中更改端口)。现在它可以工作了。

如果 GUI 选项不适合您,请尝试下一步。

选项 1. 打开 /opt/lampp/logs/error_log 文件并阅读最后 10 行。

<块引用>

就我而言,错误是 could not bind to address [::]:80 。这 通知端口 80 被另一个服务使用。选项是,改变我们的 GUI/opt/lampp/properties.ini 文件中的 apache 服务器端口 (“有时您必须退出系统并重新登录才能工作。”) 或停止使用该端口的服务器。

提示:这里使用了 80,所以尝试使用 81 等等..

选项 2. 执行以下步骤。

<块引用>

停止 xampp sudo xampp stop

然后

sudo /etc/init.d/apache2 stop

sudo /etc/init.d/mysql stop

sudo /etc/init.d/proftpd stop

然后

启动 xampp sudo xampp start

答案 10 :(得分:-2)

下面的命令应该适用于停止Mysql服务的所有场景:

sudo service mysql stop

使用以下命令点击此启动灯泡服务后:

sudo /opt/lampp/lampp start