ComfyUI 默认监听 8188 端口,若该端口被其他进程占用,网页将无法加载。最推荐的处理方式是查找占用进程并结束,或通过启动参数修改 ComfyUI 监听端口,操作前需确认占用进程是否为系统关键服务。
先说结论:端口占用属于本地网络冲突,结束占用进程或修改 ComfyUI 端口均可恢复访问。
- 先确认:使用网络命令查询 8188 端口对应的进程 ID(PID)。
- 先处理:强制结束占用进程或在启动命令中添加 `--port` 参数指定新端口。
- 再验证:刷新浏览器查看 localhost:8188 或新端口能否正常加载界面。
命令速用版
根据操作系统选择对应命令,直接查找占用端口的进程 ID 并结束,或修改启动参数。
Windows 查找占用:
netstat -ano | findstr :8188Windows 结束进程:
taskkill /F /PID <进程 ID>Linux/Mac 查找占用:
lsof -i :8188Linux/Mac 结束进程:
kill -9 <进程 ID>修改 ComfyUI 端口启动:
python main.py `--port` 8189为什么会这样
端口占用是因为同一时间只有一个进程能绑定特定的网络端口。ComfyUI 启动时会尝试独占 8188 端口,若之前运行的 ComfyUI 未正常关闭,或其他软件占用了该端口,新的 ComfyUI 实例就无法绑定地址,导致服务启动失败或网页无法连接。
分步处理
步骤 1:查找占用进程的 PID
在命令行运行上述 netstat 或 lsof 命令,记录输出结果中最右侧的数字,即为进程 ID。
步骤 2:结束占用进程或修改端口
若占用进程是旧的 ComfyUI 实例,直接使用 taskkill 或 kill 命令结束。若需要同时运行多个实例,不要结束进程,改为在 ComfyUI 启动命令中加入 `--port` 8189 参数。
步骤 3:重启 ComfyUI
重新运行启动脚本,观察控制台是否有报错。
怎么验证是否生效
打开浏览器访问 http://localhost:8188 或修改后的端口地址。若页面正常显示节点界面,且 ComfyUI 控制台日志输出"Starting server"且无 Address already in use 报错,即表示解决成功。
常见坑
- 误杀系统进程:确认 PID 对应的是 python 或 ComfyUI 相关进程,不要结束系统关键服务。
- 防火墙拦截:修改新端口后,若无法远程访问,需检查防火墙是否放行了新端口。
- 僵尸进程:有时命令行关闭后进程仍在后台,需通过任务管理器确认进程完全消失。
常见问题
可以同时运行多个 ComfyUI 吗?
可以。只需为每个实例指定不同的端口号,例如一个用 8188,另一个用 8189,启动时加上 `--port` 参数即可。
修改端口后需要改配置文件吗?
不需要。直接在启动命令或快捷方式目标路径后添加 `--port` 数字参数即可生效,无需修改内部配置。
为什么结束了进程还是提示占用?
可能存在多个子进程或僵尸进程。建议重启电脑释放所有端口占用,或仔细检查 netstat 输出中是否有多个 PID 关联 8188 端口。
参考来源
- ComfyUI GitHub Repository, README.md, Arguments section, https://github.com/comfyanonymous/ComfyUI