如果我运行了另一个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,仍然是相同的。
答案 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
答案 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