Apache与IIS共用80端口的冲突可通过五种方法解决:一、修改Apache端口(如8080);二、修改IIS绑定端口(如8081);三、用netstat定位并终止占用80端口的进程;四、多IP环境下分别绑定IIS和Apache到不同IP的80端口;五、Apache反向代理IIS,统一入口分流请求。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在Windows系统中同时部署IIS与Apache,且两者均尝试绑定80端口,则会出现服务无法正常启动或访问失败的现象。以下是解决该端口冲突的多种实用操作方法:
一、修改Apache监听端口
此方法通过更改Apache配置文件中的默认监听端口,使其避开IIS占用的80端口,从而实现共存。修改后需在访问URL中显式指定新端口。
1、进入Apache安装目录下的conf子目录,定位到httpd.conf文件。
2、用文本编辑器(如记事本)以管理员权限打开该文件。
3、使用Ctrl+F搜索关键词Listen 80,找到该行。
4、将Listen 80修改为未被占用的端口,例如Listen 8080。
5、继续搜索ServerName localhost:80,将其改为ServerName localhost:8080(如存在)。
6、保存文件,重启Apache服务。
7、在浏览器中访问http://localhost:8080验证是否生效。
二、修改IIS网站绑定端口
此方法保持Apache使用默认80端口,转而调整IIS站点的监听端口,适用于Apache作为主Web服务、IIS仅用于特定管理场景的情况。
1、打开Internet信息服务(IIS)管理器(可通过运行框输入inetmgr启动)。
2、在左侧连接树中展开服务器节点,点击网站,再选中Default Web Site。
3、右侧操作面板中点击绑定。
4、在弹出窗口中选中类型为http、端口为80的条目,点击编辑。
5、将端口号更改为如8081,确认保存。
6、重启IIS服务(可在命令行执行iisreset)。
7、访问http://localhost:8081确认IIS响应正常。
三、释放80端口并指定服务独占
当不确定哪个进程正占用80端口时,可先定位并终止干扰进程,再确保IIS或Apache之一独占该端口启动。
1、以管理员身份打开命令提示符(CMD)。
2、执行命令:netstat -ano | findstr :80,记录输出中PID列的数值。
在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
3、打开任务管理器,切换至详细信息标签页,启用PID列显示(右键列标题 → 选择列 → 勾选PID)。
4、查找步骤2中获得的PID,识别对应进程名(如w3svc.exe、skype.exe或thunder.exe)。
5、若为非必要进程(如迅雷、Skype),右键结束任务;若为w3svc.exe,则说明IIS正在运行,需按需停用IIS服务(运行services.msc → 找到World Wide Web Publishing Service → 右键停止)。
6、再次执行netstat -ano | findstr :80确认无输出,表明80端口已空闲。
7、启动Apache服务并验证http://localhost可访问。
四、为IIS配置多IP绑定实现端口复用
在服务器具备多个IPv4地址(如192.168.0.1与192.168.0.2)的前提下,可让IIS与Apache分别绑定不同IP的80端口,物理隔离端口竞争。
1、确认网卡已配置两个可用IP地址(通过ipconfig /all查看)。
2、在IIS管理器中,对Default Web Site绑定进行编辑,将IP地址由全部未分配改为指定IP(如192.168.0.1),端口保持80。
3、进入Apache的httpd.conf,将Listen 80改为Listen 192.168.0.2:80。
4、保存配置,重启IIS与Apache服务。
5、分别访问http://192.168.0.1(IIS)和http://192.168.0.2(Apache)验证各自独立响应。
五、使用HTTP端口代理转发(Apache反向代理IIS)
此方案让Apache作为前端统一入口,监听80端口,将特定路径请求透明转发至本地IIS(运行于其他端口),实现单端口对外暴露双服务。
1、确保Apache已启用mod_proxy与mod_proxy_http模块:取消httpd.conf中对应LoadModule行前的注释(#)。
2、在httpd.conf末尾添加代理规则:
ProxyPreserveHost On
ProxyPass /iis/ http://localhost:8081/
ProxyPassReverse /iis/ http://localhost:8081/
3、此前已将IIS绑定至8081端口(参考方法二)。
4、重启Apache服务。
5、访问http://localhost/iis/即可看到IIS内容,而http://localhost/仍由Apache提供服务。

















