我已经安装了Windows 10内测版,除了Apache之外,一切正常。当我尝试启动它时,它会提示端口80被阻止了。是否有一种方法可以解除阻止或者让Apache使用其他端口?
我以前使用的是Windows 7,在skype中遇到了端口80的问题,但我已经将其禁用。
我已经安装了Windows 10内测版,除了Apache之外,一切正常。当我尝试启动它时,它会提示端口80被阻止了。是否有一种方法可以解除阻止或者让Apache使用其他端口?
我以前使用的是Windows 7,在skype中遇到了端口80的问题,但我已经将其禁用。
我在Windows 10上遇到了同样的问题,IIS/10.0正在使用端口80
解决方法:
法语名称为:"Service de publication World Wide Web"
英文名称为:"World Wide Web Publishing Service"
德语名称为:"WWW-Publishingdienst" - 感谢@fiffy
波兰语名称为:"Usługa publikowania w sieci WWW" - 感谢@KrzysDan
俄语名称为:"Служба веб-публикаций" - 感谢@Kreozot
意大利语名称为:"Servizio Pubblicazione sul Web" - 感谢@Claudio-Venturini
西班牙语名称为:"Servicio de publicación World Wide Web" - 感谢@Daniel-Santarriaga
葡萄牙语(巴西)名称为:"Serviço de publicação da World Wide Web" - 感谢@thiago-born
其他选择:
sc stop W3SVC
关闭服务编辑于2015年10月7日:有关详细信息,请参见Matthew Stumphy的答案Apache Server(xampp)无法在Windows 10上运行(端口80)
本文旨在补充paaacman在此帖中的最高评分答案。我想为像我这样不太了解Windows 10的用户添加一些有用的细节。
Windows 10会在启动时自动运行IIS(Internet Information Services,微软的Web服务器软件),并使用端口80。要在该端口上使用Apache服务器,必须停止IIS。
paaacman的回答将IIS服务器称为“W3SVC”或“World Wide Web发布服务”。我想这是因为Windows 10将IIS作为服务运行。要禁用它或修改服务的运行方式,您需要知道在系统中找到“服务”的位置。
我发现最简单的方法是单击Windows 10任务栏开始菜单按钮旁边的搜索按钮,然后键入“管理工具”。您可以按回车键或单击Windows为您查找的“管理工具”链接。
控制面板窗口将打开,并显示一系列工具。您要找的是“服务”。双击它。
将打开另一个名为“服务”的窗口。找到名为“World Wide Web发布服务”的选项。如果您的列表不是英语,请参考此主题中的其他用户所列出的其他语言中称之为什么。
如果您仅想在此Windows会话中关闭IIS服务器,但是希望下次启动Windows时它能够自动运行,请右键单击“World Wide Web发布服务”并选择“停止”。服务器将停止,端口80将被释放以供Apache(或任何其他您想要使用的)。
如果您想要防止IIS服务器在将来开机自动运行,右键单击 "World Wide Web Publishing Service" 并选择 "属性"。 在弹出的窗口中,找到"启动类型"下拉菜单,并将其设置为“手动”。 点击 "应用" 或 "确定" 保存更改。 您的设定已完成。在Windows 10中,默认情况下IIS运行在端口80上,但可以更改:
运行 appwiz.cpl
,使用 打开或关闭Windows功能
安装IIS管理控制台。
运行 InetMgr.exe
并进入 "连接 -> 网站",右键单击默认条目 "Default Website" 上下文菜单进行打开。在上下文菜单中选择 "绑定" 打开服务器地址和端口配置。
https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings
我曾经遇到过完全相同的问题并通过在管理员命令行运行以下命令来解决:
1) 首先使用以下命令停止服务
net stop http /y
2) 然后禁用启动(可选)
sc config http start= disabled
在命令行中输入:
netstat -aon | findstr :80
你会看到使用端口80的进程的PID。然后尝试配置这个应用程序使用另一个端口,或者直接杀死它。
更新: 为了更加清晰,我在这里写下我的评论:根据这篇文章,在Windows 10中,MsDepSvc服务占用了端口80。它是为IIS或Web Matrix 2设计的。如果你不需要使用IIS或Web Matrix 2进行任何Web开发,可以尝试关闭该服务。
至于你提出的第二个问题,你可以通过编辑[Apache文件夹]/conf/httpd.conf来告诉Apache使用另一个端口。它有一个"Listen 80"字符串。将80更改为任何你想要的空闲端口并重新加载Apache。
在命令提示符中键入services.msc,这将加载“Windows服务”,在其中找到“万维网发布服务”并停止它。 World Wide Web Publishing Service STOP
然后我启动XAMPP控制面板,点击“Config”,然后选择“Apache httpd.conf”。搜索“80”,然后在“Listen 80”和“ServerName localhost:80”中将其更改为“8080”。从“Save As”保存文件,并选择“All files”以不将其保存为文本从“Save As Type”,“Encoding”应为“UTF-8”。 Apache httpd.conf
退出XAMPP控制面板,然后再次启动它,并从“Action”启动Apache和MySQL。现在您将看到端口已更改。现在您必须使用“localhost:8080”而不是“localhost”来访问您的Apache服务器。现在您可以在同一台Windows 10 PC上运行Apache和IIS Express。
每当一个进程使用80端口时就会出现问题。
你可以运行XAMPP控制面板中提供的Netstat,检查系统中哪个进程在使用80端口。
对于我来说,不是IIS,而是Skype。
关闭该进程/应用程序,然后启动Apache服务。
我认为修改Apache服务器端口很简单:
NB 我正在使用Server version: 5.1.41 with windows 10
我知道这个问题可能已经解决了,但我遇到了相同的问题,并找到了另一种可能的解决方案。在我的情况下,端口80被Skype(pid:25252)占用,我不知道是什么程序。
要查看使用端口80的程序pid,您可以使用其他人之前提到的命令:
netstat -aon | findstr 0.0:80
使用进程ID结束程序(在你不知道程序名称的情况下),需要以管理员身份打开CMD并使用下面的命令:
taskkill /pid 25252
这个命令的其他选项可以在这里找到。