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 级别工作流——输入提示词,出图。需要这些节点:

  1. Checkpoint Loader :加载模型(选你刚下载的 .safetensors)
  2. CLIP Text Encode (Prompt):写正向提示词
  3. CLIP Text Encode (Negative Prompt):写反向提示词
  4. Empty Latent Image :设置图片尺寸(SDXL 用 1024×1024,SD1.5 用 512×512)
  5. KSampler :采样器(seeds 随机,steps 设 20-30,CFG 设 7)
  6. VAE Decode :把潜空间结果解码成图片
  7. 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 按你的构图重新生成。关键节点:

  1. Load Image :加载参考图
  2. ControlNet Loader :加载 ControlNet 模型(推荐 Canny 或 Depth)
  3. Preprocessor :预处理参考图
  4. 接上基础工作流的 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 级别,这个工作流必不可少:

  1. 基础文生图出图后,不直接 Save
  2. LatentUpscale 节点(2x 或 4x 放大)
  3. 再接一个 KSampler(Denoise 设 0.3-0.5,补充细节)
  4. 最后 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大叔的工具箱,别错过了。

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注