必须同步修改httpd.conf中的Listen 80、ServerName localhost:80及httpd-ssl.conf中的Listen 443、VirtualHost和ServerName,否则Apache启动失败或HTTPS不可用;先用netstat与tasklist查清占用者(如Skype、IIS、Edge或另一httpd实例)再决策是否改端口。

改 Listen 80 不够,必须同步改 ServerName 和 httpd-ssl.conf 里的 SSL 端口,否则 Apache 启动会失败或 HTTPS 不可用。
查清楚谁在占 80 端口再决定要不要改
直接改配置是最快解法,但可能掩盖真正问题。Windows 下常见占用者有:Skype.exe、MicrosoftEdgeCP.exe、svchost.exe(背后可能是 IIS 或 WAS 服务)、甚至另一个 httpd.exe 实例。
用管理员权限打开命令提示符,执行:
netstat -ano | findstr :80
拿到 PID 后再查进程名:
tasklist /FI "PID eq XXXX"
如果看到 Skype.exe 或浏览器进程,关掉就行;如果是 svchost.exe,别乱杀,先确认是否真需要 80 端口——很多本地开发工具(比如某些 WordPress 插件、前端代理)默认依赖 localhost:80,改端口后反而要到处补配置。
只改 httpd.conf 里的 Listen 80 是无效操作
XAMPP 控制面板本身会检查端口硬编码,且 Apache 启动时若发现 httpd-ssl.conf 里仍写 Listen 443,即使你没启用 HTTPS,模块加载也会报错导致整个服务起不来。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
必须同时处理两处:
- 编辑
XAMPP\apache\conf\httpd.conf,把Listen 80改成Listen 8080(或其他未被占用端口,如8000、8081) - 继续在同一文件里搜
ServerName localhost:80,改成ServerName localhost:8080 - 编辑
XAMPP\apache\conf\extra\httpd-ssl.conf,把Listen 443改成Listen 8443,再改<VirtualHost _default_:443>为<VirtualHost _default_:8443>,最后改ServerName localhost:443为ServerName localhost:8443
用 XAMPP 控制面板 Config 按钮改更安全
手动编辑容易漏行或输错字符,尤其新手容易只改 Listen 忘了 ServerName,或改完没保存就点重启。
推荐流程:
- 右键点击
xampp-control.exe→ “以管理员身份运行”(否则 Config 编辑器可能无写入权限) - 点 Apache 右侧的
Config→ 选Apache (httpd.conf),改完保存 - 再点一次
Config→ 选Apache (httpd-ssl.conf),同步改 SSL 相关端口 - 关闭所有编辑窗口,再点
Restart,不要只点Start
改完访问地址变成 http://127.0.0.1:8080,HTTPS 则是 https://127.0.0.1:8443。
改完 Apache 还是起不来?注意 MySQL 和 Tomcat 的端口干扰
虽然问题聚焦 Apache,但实际中常有连带影响:
- MySQL 默认端口
3306被占用会导致 XAMPP 控制面板显示 Apache 启动失败(其实是控制台日志被截断,误判) - Tomcat 默认用
8005、8080、8009,如果你把 Apache 改成8080,又开了 Tomcat,照样冲突 -
my.ini里[client]段的port设置不影响 MySQL 服务监听,真正要看的是[mysqld]段的port
最稳妥做法:改 Apache 端口时,顺手用 netstat -ano | findstr :8080 确认新端口确实空闲;如果公司电脑策略锁死端口范围,优先选 8000 或 8081,避开常见中间件默认值。

















