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

Com*_*low 13 unix linux apache xampp ubuntu

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

ps aux
ps -e
lsof 
netstat tunap
Run Code Online (Sandbox Code Playgroud)

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

然而,XAMPP给了我这个:

XAMPP: Another web server daemon is already running
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我还将httpd.conf编辑到LISTEN到端口9876,仍然是一样的.

Moh*_*hja 16

 sudo rm /opt/lampp/logs/httpd.pid
// get listen pid
 sudo netstat -nap | grep :80
Run Code Online (Sandbox Code Playgroud)

输出示例:

tcp6   0  0 :::80  :::*  LISTEN  14417/httpd
Run Code Online (Sandbox Code Playgroud)

PID是14417

杀死proc

 sudo kill 14417
Run Code Online (Sandbox Code Playgroud)

启动/重启lampp服务器

 sudo /opt/lampp/lampp restart
Run Code Online (Sandbox Code Playgroud)


小智 10

如果:

lsof -Pi |grep 8080        returns no results
netstat -na |grep 8080     returns no results
ps -ef                     shows no web server processes
Run Code Online (Sandbox Code Playgroud)

那么也许有一个锁定文件正在启动正在检查?这些通常在/ var/run下找到,但不一定非必要.在这一点上,我通常会运行strace来看看发生了什么:

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

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


lgx*_*lgx 6

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

sudo lsof -i :80
Run Code Online (Sandbox Code Playgroud)

它为我显示了这样的东西:

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

因此杀死Skype使其成功.


小智 6

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/mysql stop
sudo /etc/init.d/proftpd stop
Run Code Online (Sandbox Code Playgroud)

这个解决方案似乎有效。您必须重新启动lampp:

sudo /opt/lampp/lampp restart
Run Code Online (Sandbox Code Playgroud)

在出现类似问题后针对 Ubuntu 12.04 测试的解决方案。


dev*_*ull 6

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

如果您将 xampp apache 更改为侦听另一个端口(/opt/lampp/etc/httpd.conf --> “Listen 80”现在是“Listen 82”),那么您还必须更改 / opt/lampp/xampp 启动脚本。

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

'Another web server is already running.'
Run Code Online (Sandbox Code Playgroud)

并在前几行中搜索:

if testport 80
Run Code Online (Sandbox Code Playgroud)

将其更改为:

if testport 82
Run Code Online (Sandbox Code Playgroud)

有了它,您可以在端口 82 上启动 xampp,并使您的常规网络服务器在端口 80 上运行。