如何解决Win10提示"服务器启动失败,80端口被占用"的问题?

如何解决Win10提示"服务器启动失败,80端口被占用"的问题?

一、通过命令行操作解决

  1. 停止http服务
    • 以管理员身份运行cmd,输入:net stop http。如果提示是否真的需要停止这些服务,则选择Y。然后输入:sc config http start = disabled。
  2. 查询占用端口的进程PID(若需要)
    • 如果知道被占用的端口号,可以输入netstat -aon|findstr "80"(这里以80端口为例,端口号需加英文双引号),按回车键后,可以查询到80端口的PID。如果不知道端口号,进入命令提示符后,输入netstat -ano命令,然后回车,可以看到所有端口的情况,找到被占用的端口。
  3. 根据PID找到进程并结束任务(若需要)
    • 输入tasklist|findstr "PID值"命令(将PID值替换为刚刚查询到的PID,记得双引号是英文的),然后按下回车,就可以找到对应的进程。接着打开任务管理器(右击任务栏,选择任务管理器),选择详细信息,找到刚刚查询到的进程和PID,右击,选择结束任务,把进程结束掉,端口就被释放了。

二、通过服务管理解决

  1. 更改WorldWideWebPublishingService服务
    • Ctrl + x,然后选择计算机管理,展开服务和应用程序,找到服务。找到WorldWideWebPublishingService,双击打开后,将启动类型改为手动,更改服务状态为停止。
  2. 停止其他可能占用的服务(若80端口仍然被占用)
    • 还需要停止以下几个服务:SSDPDiscovery、PrintSpooler、HomeGroupProvider、FunctionDiscoveryResourcePublication、FunctionDiscoveryProviderHost等。

三、通过注册表操作解决

  1. 修改注册表键值
    • 以管理员身份运行regedit,打开键值:HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - services - HTTP。在右边找到Start这一项,将其改为0,然后重启系统,System进程不会占用80端口。

四、针对特定软件(如nginx)调整解决

  1. 更改软件默认端口(以nginx为例)
    • 如果是nginx的80端口被占用导致无法启动,可以更改nginx的默认端口号。在nginx的conf目录下的nginx.conf文件中,默认配置的nginx监听的端口为80,因为80端口被占用了,所以可以修改为未被占用的端口,比如改成8088。保存后,再启动nginx,任意打开一个浏览器,输入:localhost:8088,回车,若出现相应页面则说明启动成功。
本篇文章所含信息均从网络公开资源搜集整理,旨在为读者提供参考。尽管我们在编辑过程中力求信息的准确性和完整性,但无法对所有内容的时效性、真实性及全面性做出绝对保证。读者在阅读和使用这些信息时,应自行评估其适用性,并承担可能由此产生的风险。本网站/作者不对因信息使用不当或误解而造成的任何损失或损害承担责任。
阅读全文