15

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

ps aux
ps -e
lsof 
netstat tunap

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

然而,XAMPP 给了我这个:

XAMPP: Another web server daemon is already running

我应该怎么办?

我还编辑了 httpd.conf 来监听端口 9876,还是一样。

4

11 回答 11

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

输出示例:

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

PID 为 14417

杀死进程

 sudo kill 14417

启动/重启lampp服务器

 sudo /opt/lampp/lampp restart
于 2017-09-21T20:51:12.147 回答
11

如果:

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”字符串,并开始查看其上方的行以查看失败的原因。

于 2013-06-28T18:31:05.920 回答
8

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

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 使其工作。

于 2014-02-25T16:05:03.647 回答
7

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

如果您将 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,并让您的常规网络服务器在端口 80 上运行。

于 2017-12-27T10:52:02.160 回答
6
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 测试的解决方案。

于 2014-12-03T07:59:46.363 回答
4

下面的命令应该对我有用

  sudo service apache2 stop

然后

  sudo /opt/lampp/lampp restart
于 2020-01-30T04:48:41.060 回答
3

我解决了禁用 ssl 端口的问题

sudo /opt/lampp/lampp disablessl

接着

sudo /opt/lampp/lampp start
于 2016-10-17T11:54:35.550 回答
1

上述解决方案对我不起作用。但是这个解决方案确实 -

sudo apachectl stop

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

sudo /opt/lampp/lampp restart
于 2018-07-23T12:16:27.390 回答
1

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

sudo netstat -ltnp | grep :80

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

 ps aux | grep process_name

在此之后尝试重新启动lampp,使用::sudo /opt/lampp/lampp restart

于 2018-09-28T10:03:11.407 回答
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 被另一个服务使用。选项是,更改我们的 apache 服务器端口GUI/opt/lampp/properties.ini文件(“有时您必须注销系统并再次登录才能工作。”)或停止使用此端口的服务器。

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

选项 2. 执行以下步骤。

停止 xamppsudo xampp stop

然后

sudo /etc/init.d/apache2 stop

sudo /etc/init.d/mysql stop

sudo /etc/init.d/proftpd stop

然后

启动 xamppsudo xampp start

于 2021-06-05T08:51:19.163 回答
-1

下面的命令应该在所有情况下都可以停止 Mysql 服务:

sudo service mysql stop

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

sudo /opt/lampp/lampp start
于 2014-11-07T05:01:26.163 回答