Apache服务器(xampp)无法在Windows 10(端口80)上运行

时间:2015-06-10 14:12:26

标签: apache connection webserver

我已经安装了Windows 10 Insider程序。一切正常,除了Apache。当我尝试启动它时,它表示端口80被阻止。有没有办法取消阻止它或告诉Apache改为使用其他端口?

之前我使用的是Windows 7。我在使用Skype的端口80时遇到了麻烦,但我已将其禁用了。

17 个答案:

答案 0 :(得分:202)

我在Windows 10上遇到了同样的问题, IIS / 10.0正在使用端口80

要解决这个问题:

  • 找到服务“W3SVC”
  • 禁用它,或将其设置为“手动”

法语名称是:“ Service de publication World Wide Web

英文名称是:“万维网发布服务

德语名称是:“WWW-Publishingdienst” - 谢谢@fiffy

波兰语名称是:“Usługasublikowaniaw sieci WWW” - 谢谢@KrzysDan

俄语名称是“Службавеб-публикаций” - 谢谢@Kreozot

意大利名字是“Servizio Pubblicazione sul Web” - 谢谢@ Claudio-Venturini

Español的名字是“ServiciodepublicaciónWorldWide Web” - 谢谢@ Daniel-Santarriaga

葡萄牙语(巴西)名称为“ServiçodepublicaçãodaWorld Wide Web” - 感谢@ thiago-born

替代方案:

2015年10月7日编辑:有关详细信息,请参阅Matthew Stumphy的回答Apache Server (xampp) doesn't run on Windows 10 (Port 80)

答案 1 :(得分:13)

默认情况下,Windows 10 IIS在端口80上运行,可以更改:

运行appwiz.cpl使用Turn Windows features on or off并安装IIS管理器控制台。

Turn Windows features on or off -> Internet Information Services -> Web Management Tools -> IIS Management Console

运行InetMgr.exe并转到“连接 - >网站”,然后右键单击默认条目“默认网站”上的上下文菜单。在Context Menu中,选择“Bindings”以打开服务器地址和端口配置。

"Connections -> Sites" -> "Default Website Bindings"

Server address and port configuration

Chaning Default Port to 8080

https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings

答案 2 :(得分:11)

我遇到了完全相同的问题并解决了它作为管理员从命令行运行以下命令:

1)首先使用以下

停止服务
  

net stop http / y

2)然后禁用启动(可选)

  

sc config http start = disabled

答案 3 :(得分:8)

输入命令行

netstat -aon | findstr :80

您将看到使用端口80的进程的PID。 然后尝试配置此应用程序以使用另一个端口,或者只是将其删除

<强>更新 我在这里写下我的评论更清楚:根据this链接,在Windows 10中,MsDepSvc服务占用端口80.它适用于IIS或Web Matrix 2.如果您不会将IIS或Web Matrix 2用于任何Web开发,您可以尝试关闭服务

对于问题的第二部分,您可以通过编辑[Apache folder] /conf/httpd.conf告诉Apache使用另一个端口。它有&#34;听80&#34;串。将80更改为您想要的任何空闲端口并重新加载Apache

答案 4 :(得分:8)

您可能还需要终止SQL Server Reporting Services。

答案 5 :(得分:5)

在我的情况下,我需要XAMPP用于Apache开发和用于.Net 2013开发的IIS Express;所以我做了以下几点:

  1. 在命令提示符下键入的services.msc中,这会加载&#34; Windows服务&#34;我找到的地方&#34;万维网发布服务&#34;并阻止它。 World Wide Web Publishing Service STOP

  2. 我启动XAMPP控制面板,点击&#34; Config&#34;,然后选择&#34; Apache httpd.conf&#34;。搜索&#34; 80&#34;然后将其更改为&#34; 8080&#34;在两个&#34;听80&#34;和&#34; ServerName localhost:80&#34;。保存文件来自&#34;另存为&#34; &安培;选择&#34;所有文件&#34;不保存为&#34;另存为类型&#34; &安培; &#34;编码&#34;应该是&#34; UTF-8&#34;。 Apache httpd.conf

  3. 退出XAMPP控制面板,然后从&#34; Action&#34;再次启动它。启动Apache&amp; MySQL的。现在您将看到端口已更改。如您所知,您必须使用&#34; localhost:8080&#34;来到您的Apache服务器。而不是&#34; localhost&#34;。你也有Apache和amp; IIS Express在同一台Windows 10 PC中运行。

  4. 我读了一篇文章,作者建议使用端口&#34; 9080&#34;但它对我不起作用。

答案 6 :(得分:3)

只要进程使用端口80,就会出现问题。

您可以运行 XAMPP控制面板中提供的 Netstat ,并检查哪个进程使用系统中的端口80.

对我来说,它不是 IIS ,而是 Skype

关闭该进程/应用程序,然后启动Apache服务。

答案 7 :(得分:1)

我认为更改Apache服务器端口很简单

  1. 转到 C:\ xampplite \ apache \ conf
  2. 打开 httpd.conf 文件
  3. 搜索倾听80
  4. 80 更改为9080
  5. 等任何其他内容
  6. 现在XAMPP重启尝试启动服务器
  7. NB 我正在使用服务器版本:5.1.41与Windows 10

答案 8 :(得分:1)

如果您需要在端口80/443上运行IIS但在不同的IP地址上运行,您可以使用netsh http add iplisten xxx.xxx.xxx.xxx,如下所述: https://support.microsoft.com/en-us/help/954874/iis-binds-to-all-ip-addresses-on-a-server-when-you-install-iis-7-0-on

有关netsh http add iplisten的更多详细信息,请访问: https://msdn.microsoft.com/en-us/library/windows/desktop/cc307219.aspx

答案 9 :(得分:1)

我知道这可能不是你问题的原因,但是我已经花了几个小时撞墙来解决这个问题,这是我的解决方案。

(运行Windows 10 x32)

所以我在一个深度嵌套的目录中安装了XAMPP,所有的conf文件都引用了根\xampp\apache,而我的文件是some_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

所以我的选择是要么经历并编辑所有\xampp\apache引用并将它们指向正确的位置,或者,更简单的选项...在根目录重新安装XAMPP,所以引用都指向正确的地方。

有点烦人,但我想这就是我们在Mac和Windows试图成为朋友时所得到的......

希望对你们中的一些人有所帮助。

答案 10 :(得分:1)

我知道也许这个问题已经解决但我遇到了同样的问题,不同的解决方案。为此,我将解释另一种可能的解决方案。在我的情况下,端口80被Skype占用(pid:25252),我不知道是什么程序。

要查看使用端口80的程序的pid,您可以使用其他人之前说过的命令:

netstat -aon | findstr 0.0:80

要使用pid终止进程(在您不知道程序的情况下),您必须以管理员权限打开CMD并使用下一个命令:

taskkill /pid 25252

此命令的其他选项是here

答案 11 :(得分:0)

这个固定的node.js也没有在Windows 10下的端口80上运行,我收到了listen eacces错误。开始&gt;服务,找到“万维网发布服务”并禁用它,就像paaacman描述的那样。

答案 12 :(得分:0)

我遇到了同样的问题,上述解决方案都没有对我有用。

Apache使用端口80和443(用于HTTPS),两者都必须准备好用于Apache成功启动。只有端口80可能还不够。

我发现在运行VMWare Workstation时,我发现VMware共享使用了端口443。

您必须在VMware主要首选项中禁用共享或更改此部分中的端口。

之后,只要您没有其他服务器连接到端口80(参见上面的解决方案),那么您应该能够在XAMPP或任何其他Windows堆栈应用程序上启动Apache或NGinx。

我希望这会有助于其他用户。

答案 13 :(得分:0)

虽然许多人正在采用这种方法来停止/禁用IIS,但知道您可以简单地修改已经回答here的XAMPP端口可能会有所帮助。这是我必须采取的路线,因为我需要两个都跑。

答案 14 :(得分:0)

除了非常明显的原因(IIS)之外,还有另一个原因可以解决这个问题。值得引用这个问题及其答案:

http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443 

因此,如果您在计算机中安装了Skype,请务必另行检查。解决方案在这里引用:

  

要关闭和禁用Skype端口80和端口443的使用和侦听,请打开Skype窗口,然后单击“工具”菜单并选择“选项”。单击“高级”选项卡,然后转到“连接”子选项卡。取消选中或取消选中“将端口80和443用作传入连接的替代选项”复选框。单击“保存”按钮,然后重新启动Skype以使更改生效。

答案 15 :(得分:0)

关闭“某些系统进程”可能很棘手......你应该编辑@Sergey Maksimenko提到的[Apache文件夹] /conf/httpd.conf,如果要配置虚拟主机,请使用新端口在[Apache文件夹] /conf/extra/httpd-vhosts.conf中(我在[Apache文件夹] /conf/httpd-ssl.conf中使用了4900而不是80和4901而不是443)。并且记得在访问localhost(或您的虚拟主机)上的页面时使用该端口,例如:localhost:4900 / index.html

答案 16 :(得分:-1)

首先,以管理员身份运行open regedit see image 打开HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP 打开开始,将值从3更改为4 see image 然后重新启动计算机