ComfyUI 本地部署完全指南:IT大叔的Stable Diffusion工作流搭建实战
IT大叔手把手教你部署 ComfyUI,从环境配置、模型下载到三个实战工作流(文生图、ControlNet、高清放大),附避坑指南。Linux/Docker 双版本,显存4GB起步就能玩。
玩 AI 画图最让人崩溃的是什么?不是显卡不够,不是模型跑不动——是装完 ComfyUI 打开界面,看到那一堆空白节点发呆,完全不知道从哪下手。去年我折腾 Stable Diffusion WebUI 踩了俩月坑,今年转 ComfyUI 又踩了一个月。这篇文章不聊虚的,直接把我本地部署 ComfyUI 的全流程和 3 个最常用的工作流给你整理出来。
ComfyUI 到底是什么?和 WebUI 比好在哪?
首先说结论:如果你想认真玩 Stable Diffusion 出图,ComfyUI 迟早要学。WebUI(比如 Stable Diffusion WebUI Forge)把操作界面做得非常”傻瓜化”——适合小白快速上手。但代价是:可控性差、资源利用低、批处理效率不行。
ComfyUI 用了节点图(Node Graph)的方式组织整个生图流程。每个节点做一件事——加载模型、写提示词、设置采样器、放大图片——然后用连线串起来。一开始看着复杂,但你熟悉之后会发现:同样的配置,ComfyUI 的显存占用比 WebUI 低 20-30%,而且工作流可以整个保存分享,换个模型跑图完全不用重新配参数。
说个大实话:上次我用 WebUI 跑一组 12 张图的批量对比测试,显存 8G 的卡跑 15 分钟崩了 3 次。换 ComfyUI,同样的模型和参数,8 分钟跑完,一次都没崩。就是这个差距。
环境要求:你的机器能不能跑?
这是我实测过的硬件门槛:
- 最低配置:NVIDIA 显卡 4GB 显存(GTX 1660 / RTX 3050),跑 SD 1.5 模型,512×512 出图无压力
- 推荐配置:RTX 3060 12GB 或 RTX 4060Ti 16GB,可以流畅跑 SDXL 模型,出 1024×1024 图
- 爽玩配置:RTX 4090 24GB,SDXL / FLUX 模型随便跑,还能同时跑 ControlNet + Tiled VAE
系统方面,推荐 Linux(Ubuntu 22.04+)或 Windows 10/11。我主力是 Linux 系统,用 Docker 或者裸装都行。Windows 用户就直接用整合包或者手动装。
显存不够怎么办?两个路子:一是用 --lowvram 模式启动 ComfyUI,二是加 --force-fp16 用半精度推理。6GB 的卡也能跑 SDXL,只是要等久一点。
第一步:安装 ComfyUI(Linux 裸装版)
如果你有自己的服务器或者 Linux 开发机,直接装原版最稳:
# 安装依赖 sudo apt update && sudo apt install -y python3-pip python3-venv git wget # 克隆 ComfyUI git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 创建虚拟环境 python3 -m venv venv source venv/bin/activate # 安装 PyTorch(根据你的 CUDA 版本选对应的命令) # CUDA 12.1: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # CUDA 11.8: # pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装 ComfyUI 依赖 pip install -r requirements.txt
安装完就可以启动了:
# 启动(默认 0.0.0.0:8188,局域网内其他设备也能访问) python main.py --listen 0.0.0.0 --port 8188 # 显存不够的加 lowvram 参数 # python main.py --listen 0.0.0.0 --port 8188 --lowvram
浏览器打开 http://你的IP:8188,看到节点界面就成功了。
Docker 部署(多节点架构推荐)
因为我在本地有多个 GPU 节点,所以给 ComfyUI 做了 Docker 化部署。这样图像生成任务可以调度到专门的推理节点上跑,不占主机的显存:
# docker-compose.yml
version: "3.9"
services:
comfyui:
image: nvidia/cuda:12.1.1-runtime-ubuntu22.04
container_name: comfyui
ports:
- "8188:8188"
volumes:
- ./ComfyUI:/workspace/ComfyUI
- ./models:/workspace/ComfyUI/models
- ./output:/workspace/ComfyUI/output
environment:
- NVIDIA_VISIBLE_DEVICES=all
working_dir: /workspace/ComfyUI
command: >
bash -c "pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 &&
pip install -r requirements.txt &&
python main.py --listen 0.0.0.0 --port 8188"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
如果你也在多节点环境(比如 PVE 虚拟化 + 多卡),强烈建议把 ComfyUI 放在单独的推理节点上,不要跟 Ollama、IndexTTS 这些服务抢显存。一个节点一个任务,好用。
第二步:下载模型,立刻能用
ComfyUI 默认不带你需要的模型,你得自己下。模型放在 ComfyUI/models/checkpoints/ 目录下:
cd ComfyUI/models/checkpoints/ # SD 1.5 经典模型(4G 显存就能跑) wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt # SDXL 模型(推荐,画质飞跃) wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors wget https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors # 写实风 — Realistic Vision V6.0 wget https://huggingface.co/SG161222/Realistic_Vision_V6.0/resolve/main/Realistic_Vision_V6.0_fp16.safetensors
注意:.safetensors 格式比 .ckpt 更安全、加载更快。现在新模型基本都出 safetensors 格式了,优先选它。
第三步:三个实战工作流,从入门到进阶
工作流 1:基础文生图
最简单的 Hello World 级别工作流——输入提示词,出图。需要这些节点:
- Checkpoint Loader :加载模型(选你刚下载的 .safetensors)
- CLIP Text Encode (Prompt):写正向提示词
- CLIP Text Encode (Negative Prompt):写反向提示词
- Empty Latent Image :设置图片尺寸(SDXL 用 1024×1024,SD1.5 用 512×512)
- KSampler :采样器(seeds 随机,steps 设 20-30,CFG 设 7)
- VAE Decode :把潜空间结果解码成图片
- Save Image :保存图片到 output 目录
连线方式:模型节点 → CLIP → KSampler → VAE Decode → Save Image,一条链串下来就行。跑通了这张图,你就已经掌握了 ComfyUI 的基本逻辑。
给个能直接用的提示词感受一下:
# 正向提示词(Positive Prompt) cinematic shot of a cat wearing steampunk goggles, highly detailed, digital painting, artstation, sharp focus, dramatic lighting, intricate details # 反向提示词(Negative Prompt) ugly, blurry, low quality, deformed, disfigured, bad anatomy, extra limbs, watermark
工作流 2:图生图 + ControlNet 精准控制
这是我最常用的工作流——用一张线稿或照片,让 AI 按你的构图重新生成。关键节点:
- Load Image :加载参考图
- ControlNet Loader :加载 ControlNet 模型(推荐 Canny 或 Depth)
- Preprocessor :预处理参考图
- 接上基础工作流的 KSampler,Denoise 设 0.6-0.8(值越低越像原图)
ControlNet 需要额外下载模型,放到 ComfyUI/models/controlnet/:
cd ComfyUI/models/controlnet/ wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth
实际应用场景:我经常把毛坯房照片丢进去,用 Depth ControlNet 保持结构,加 “现代极简装修风格” 的提示词,直接生成效果图。比 Midjourney 可控多了。
工作流 3:高清放大(Hires Fix + Upscale)
SDXL 直接出的 1024×1024 放大到 4K 级别,这个工作流必不可少:
- 基础文生图出图后,不直接 Save
- 接 LatentUpscale 节点(2x 或 4x 放大)
- 再接一个 KSampler(Denoise 设 0.3-0.5,补充细节)
- 最后 VAE Decode + Save
这种两步生图的方式,比直接出大图显存占用低很多,画质反而更好。第一次采样画轮廓,第二次补充细节和纹理。
常见坑和避雷指南
这些坑我每个都踩过,你大概率也会遇到:
- CUDA Out of Memory:这是最常见的。解决思路:换小模型(SD1.5 替代 SDXL)、降图片尺寸、加
--lowvram参数、或者用 Tiled VAE 插件(显存不够时把图片分块处理) - 模型加载后不生效:检查模型文件是不是放对路径了。Checkpoint 放
models/checkpoints/,LoRA 放models/loras/,VAE 放models/vae/。放错地方 ComfyUI 读不到 - 出的图全是黑色或者纯色:一般是 VAE 没加载对。SDXL 需要配套的 VAE 文件(sd_xl_vae.safetensors),在加载模型后显式加上 VAE Loader 节点
- ControlNet 不生效:检查你的 ControlNet 模型版本是否匹配基础模型。SD1.5 的 ControlNet 不能用在 SDXL 上,反之亦然
总结:ComfyUI 值得学吗?
如果你只是偶尔玩一下 AI 画图,WebUI 就够了,不需要强上 ComfyUI。但如果你——
- 需要批量出图,接了自动化流程
- 想精确控制生成的每层细节
- 显存有限但想跑好模型
- 打算用多机多卡架构
那 ComfyUI 是一定要学的。入门需要 1-2 天的适应期,但适应之后你会发现——之前用 WebUI 绕的路,ComfyUI 一步到位。
下一篇我会写 ComfyUI 的高级工作流:视频转绘(AnimateDiff)、IP-Adapter 换脸、以及怎么把 ComfyUI 通过 API 接入你自己的自动化流程。关注 IT大叔的工具箱,别错过了。
