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

我已经安装了Windows 10内幕scheme。 一切正常,除了Apache。 当我尝试启动它时,它说端口80被阻塞。 有没有办法阻止它或告诉Apache使用另一个端口呢?

我以前使用Windows 7。 我有与Skype的端口80的麻烦,但我已禁用它。

我在Windows 10上有同样的问题, IIS / 10.0使用端口80

要解决这个问题:

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

法文名称是:“ 万维网服务

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

德文的名字是:“WWW-Publishingdienst” – 谢谢@fiffy

波兰的名字是:“Usługapublikowania w sieci WWW” – 谢谢@KrzysDan

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

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

西class牙文名称是“Servicio depublicaciónWorld Wide Web” – 感谢Daniel-Santarriaga

葡萄牙语(巴西)的名字是“万维网公开服务” – 感谢@ thiago-born


备择scheme :

  • 另一个解决scheme是通过命令sc stop W3SVC通过pipe理控制台closures服务
  • 请参阅TobiasHochgürtel的社区wiki Apache服务器(xampp)不能在Windows 10(端口80)上运行

编辑2015年10月7日:欲了解更多详细信息,请参阅马修Stumphy的答案Apache服务器(xampp)不运行在Windows 10(端口80)

这个答案是作为paaacman在这个线程的最高评分答案的附录。 我只是想为像我这样的用户添加一些有用的细节,他们也不知道如何绕过Windows 10。

Windows 10在启动期间自动在端口80上运行IIS(Internet信息服务,Microsoft的Web服务器软件)。为了在该端口上使用Apache服务器,必须停止IIS。

paaacman的回应将IIS服务器称为“W3SVC”或“万维网发布服务”。 我想这是因为Windows 10将IIS作为服务运行。 为了禁用或修改服务的运行方式,您需要知道系统中的“服务”的位置。

我发现最简单的方法是单击Windows 10任务栏中开始菜单button旁边的searchbutton ,然后键入“pipe理工具” 。 您可以点击返回,也可以点击Windows为您find的“pipe理工具”链接。

控制面板窗口将打开一个工具列表。 你想要的是“ 服务” 。 双击它。

另一个窗口将打开称为“服务”。 find一个名为“ 万维网发布服务” 。 如果您的列表不是英文的话,这个线程中的其他一些用户列出了在其他语言中被调用的内容。

如果您只想closures此Windows会话的IIS服务器,但希望在下次启动Windows时再次自动运行,请右键单击“万维网发布服务”,然后select“ 停止” 。 服务器将停止,并且端口80将被释放为Apache(或任何你想要使用它)。

如果要防止以后启动Windows时自动运行IIS服务器,请右键单击“World Wide Web Publishing服务”,然后select“ 属性” 。 在出现的窗口中,find“启动types”下拉菜单 ,并将其设置为“手动”。 点击“应用”或“确定”保存您的更改。 你应该全部设置。

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

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

打开或关闭Windows功能 - > Internet信息服务 - > Web管理工具 - > IIS管理控制台

运行InetMgr.exe并转到“连接 – >站点”,然后右键单击默认条目“默认网站”上的上下文菜单打开。 在上下文菜单中select“绑定”以打开服务器地址和端口configuration。

“连接 - >站点” - >“默认网站绑定”

服务器地址和端口配置

Chaning默认端口为8080

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

input命令行

netstat -aon | findstr :80

您将看到使用端口80的进程的PID。然后尝试configuration此应用程序以使用另一个端口,或者只是杀死它

更新:我将在这里写下我的评论更清楚:根据这个链接,在Windows 10中,它是占用端口80的MsDepSvc服务。它用于IIS或Web Matrix 2.如果您不使用IIS或Web Matrix 2为任何Web开发,你可以尝试closures服务

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

我有完全相同的问题,并解决它作为pipe理员从命令行运行folowing命令:

1)先用以下方法停止服务

净停止http / y

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

sc config http start = disabled

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

在我的情况下,我需要XAMPP的Apache开发和IIS Express的。 所以我做了以下几点:

  1. 在命令提示符下键入services.msc,这将加载位于“万维网发布服务”的“Windows服务”并停止它。 万维网发布服务停止

  2. 我启动XAMPP控制面板,点击“Config”,然后select“Apache httpd.conf”。 在“Listen 80”和“ServerName localhost:80”中search“80”,然后将其更改为“8080”。 从“另存为”保存文件,并select“所有文件”不保存为“保存types”中的文本,“编码”应为“UTF-8”。 Apache httpd.conf

  3. 退出XAMPP控制面板,然后再次启动它并从“操作”启动Apache&MySQL。 现在你会看到端口改变了。 正如你现在知道的,你必须使用“localhost:8080”而不是“localhost”来访问Apache服务器。 另外,您还可以在同一台Windows 10 PC上运行Apache和IIS Express。

我读了一篇文章,作者build议使用“9080”端口的地方,但是这对我并不适用。

每当一个进程使用端口80时,就会发生问题。

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

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

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

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

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

 netstat -aon | findstr 0.0:80 

要使用pid杀死进程(在不知道该程序的情况下),必须使用pipe理员权限打开CMD并使用下一个命令:

 taskkill /pid 25252 

这个命令的其他选项在这里 。

我知道这可能不是你的问题的原因,但我已经花了几个小时打我的头靠在墙上解决这个问题,这是我的解决scheme。

(运行Windows 10 x32)

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

所以我的select是通过编辑所有\xampp\apache引用并将它们指向正确的位置,或者更简单的选项…在根目录重新安装XAMPP,所以引用都指向正确的位置。

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

希望它能帮助你们中的一些人。

closures“一些系统进程”可能会很棘手…您应该编辑@Sergey Maksimenko提到的[Apache文件夹] /conf/httpd.conf,如果您想configuration虚拟主机,请使用[Apache文件夹] /conf/extra/httpd-vhosts.conf(我在[Apache文件夹] /conf/httpd-ssl.conf中使用了4900而不是80和4901而不是443。 请记住在访问本地主机(或虚拟主机)上的页面时使用该端口,例如:localhost:4900 / index.html

这个固定的node.js不能在Windows 10下的80端口上运行,我得到一个listen eacces错误。 开始“>”服务“,find”万维网发布服务“并将其禁用,正如paaacman所述。

我有同样的问题,没有上述解决scheme为我工作。

Apache使用端口80和443(用于HTTPS),并且都必须准备好用于Apache才能成功启动。 只有80端口可能是不够的。

我发现在我的情况下,运行VMWare工作站时,我有VMware共享使用的端口443。

您必须禁用VMware主首选项中的共享或更改本节中的端口。

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

我希望这会帮助其他用户。

虽然许多人正在采取停止/禁用IIS的方法,但知道您可以简单地修改XAMPP端口(这里已经得到解答)可能会有帮助。 这是我必须采取的路线,因为我需要两个运行。

除了很明显的原因(IIS)之外,还有另外一个原因对于这个问题已经足够普遍了。 这里值得引用这个问题和答案:

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

所以,如果你在电脑里安装了Skype,一定要检查一下。 解决scheme在这里引用:

要closures和禁用Skype端口80和端口443的Skype使用,请打开Skype窗口,然后单击工具菜单并select选项。 点击高级选项卡,然后转到连接子选项卡。 取消或取消选中使用端口80和443作为传入连接选项的选项。 点击保存button,然后重新启动Skype以使更改生效。

如果您需要在端口80/443上运行IIS,但使用不同的IP地址,则可以使用netsh http add iplisten xxx.xxx.xxx.xxx如下所述: https : //support.microsoft.com/en-us/帮助/ 954874 / IIS-结合到全部IP地址,一个服务器上,时任您安装-IIS-7-0-上

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

首先打开registry以pipe理员身份运行查看图像打开HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP打开开始,将数值从3改为4 查看图像然后重新启动计算机