1. ComfyUI本地部署环境准备
1.1 硬件与系统要求
对于ComfyUI的本地部署,建议使用以下配置作为基础环境:
- 操作系统:Rocky Linux 9.7(兼容CentOS/RHEL生态)
- 显卡:NVIDIA RTX 4070(12GB显存)或更高性能显卡
- 内存:建议32GB以上
- 存储:至少50GB可用空间(用于存放模型文件)
实测发现,RTX 4070在生成512x512分辨率图像时显存占用约4GB,8GB显存可满足大部分基础需求,但处理高分辨率(1024x1024+)或多图并行时需要12GB以上显存。
1.2 软件依赖安装
首先确保系统基础环境就绪:
bash复制# 安装基础开发工具
sudo dnf groupinstall "Development Tools"
sudo dnf install -y git wget python3-devel
# 安装CUDA Toolkit 11.8(需与显卡驱动版本匹配)
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
sudo dnf install -y cuda-toolkit-11-8
验证CUDA安装:
bash复制nvcc --version
# 应输出类似:nvcc: NVIDIA (R) Cuda compiler version 11.8.89
1.3 Python环境配置
推荐使用Anaconda管理Python环境:
bash复制# 下载并安装Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
bash Anaconda3-2023.09-0-Linux-x86_64.sh
# 创建专用虚拟环境
conda create -n comfyui python=3.10 -y # 实测3.10版本兼容性最佳
conda activate comfyui
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. ComfyUI核心安装步骤
2.1 源码获取与目录结构
bash复制mkdir -p /home/data/stable
cd /home/data/stable
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
目录结构说明:
models/checkpoints/:存放Stable Diffusion基础模型models/loras/:存放LoRA微调模型custom_nodes/:第三方扩展节点web/:前端界面资源
2.2 依赖安装与加速技巧
使用国内镜像源加速安装:
bash复制pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 单独安装PyTorch(确保CUDA版本匹配)
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
常见依赖问题解决:
- 如遇
xformers安装失败,可尝试:bash复制
pip install xformers --pre -i https://pypi.tuna.tsinghua.edu.cn/simple openjpeg报错时需安装系统库:bash复制sudo dnf install -y openjpeg2-devel
2.3 模型文件部署
推荐模型存放路径:
| 模型类型 | 存放路径 | 典型文件大小 |
|---|---|---|
| 基础模型 | models/checkpoints/ | 2-7GB |
| LoRA模型 | models/loras/ | 10-200MB |
| ControlNet模型 | models/controlnet/ | 1-2GB |
| VAE模型 | models/vae/ | 300-700MB |
手动下载示例(以Stable Diffusion XL为例):
bash复制cd models/checkpoints/
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors
3. 启动与基础配置
3.1 启动参数详解
常用启动命令:
bash复制python main.py \
--listen 0.0.0.0 \ # 允许远程访问
--port 7861 \ # 指定端口
--auto-launch \ # 自动打开浏览器
--highvram # 高显存模式
显存优化策略:
--highvram:全模型常驻显存(速度最快)--normalvram:默认模式(平衡型)--lowvram:显存不足时使用(速度下降30%)--medvram:中等优化(推荐8GB显存使用)
3.2 系统服务配置(可选)
创建systemd服务实现开机自启:
bash复制sudo tee /etc/systemd/system/comfyui.service <<EOF
[Unit]
Description=ComfyUI Service
After=network.target
[Service]
User=your_username
WorkingDirectory=/home/data/stable/ComfyUI
ExecStart=/bin/bash -c 'source /home/data/stable/ComfyUI/comfyui_313_env/bin/activate && python main.py --listen --port 7861'
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 启用服务
sudo systemctl daemon-reload
sudo systemctl enable --now comfyui
4. 工作流开发实践
4.1 基础工作流构建
典型文生图(txt2img)节点连接:
- CLIP Text Encode:处理提示词
- Empty Latent Image:创建初始潜空间
- KSampler:设置采样参数
- VAE Decode:解码潜空间为图像

4.2 高级工作流技巧
图像放大工作流
json复制{
"nodes": [
{
"type": "LoadImage",
"inputs": {"image_path": "input.jpg"}
},
{
"type": "UltimateSDUpscale",
"inputs": {
"model": "SDXL",
"upscale_by": 2
}
}
]
}
视频生成工作流关键参数:
- 帧间一致性:使用AnimateDiff节点
- 帧率控制:通过Schedule节点调整
- 内存优化:启用--medvram模式
4.3 自定义节点开发
示例:创建简单文本处理节点
python复制# 保存为custom_nodes/text_processor.py
from nodes import register_node
@register_node
class TextProcessor:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"text": ("STRING", {"multiline": True}),
"operation": (["upper", "lower", "reverse"],)
}
}
RETURN_TYPES = ("STRING",)
FUNCTION = "process"
def process(self, text, operation):
if operation == "upper":
return (text.upper(),)
elif operation == "lower":
return (text.lower(),)
else:
return (text[::-1],)
5. 性能优化与问题排查
5.1 显存优化方案
| 优化方法 | 显存节省 | 速度影响 | 适用场景 |
|---|---|---|---|
| 使用--medvram | 20-30% | 10% | 常规工作流 |
| 启用Tiled Diffusion | 40-50% | 30% | 超高分辨率 |
| 使用--cpu-offload | 50-70% | 50% | 极低显存环境 |
| 量化模型(8bit/4bit) | 60% | 15% | 质量要求不高时 |
5.2 常见错误解决
问题1:CUDA out of memory
- 解决方案:
- 减小生成分辨率(如从1024→768)
- 添加--medvram参数
- 关闭其他占用显存的程序
问题2:模型加载失败
- 检查点:
- 确认模型文件完整(校验SHA256)
- 检查模型路径是否正确
- 验证文件权限(特别是docker环境)
问题3:节点缺失错误
bash复制# 安装ComfyUI Manager
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
重启后使用"Install Missing Nodes"功能
6. 生产环境部署建议
6.1 安全配置要点
- 访问控制:
bash复制# 使用基础认证 python main.py --listen --port 7861 --enable-auth --username admin --password yourpassword - HTTPS配置:
bash复制# 使用Nginx反向代理 sudo dnf install -y nginx sudo certbot --nginx -d yourdomain.com
6.2 资源监控方案
推荐监控指标:
- GPU利用率(nvidia-smi)
- 显存占用
- 请求响应时间
- 队列长度
使用Prometheus+Grafana监控示例:
yaml复制# prometheus.yml 片段
scrape_configs:
- job_name: 'comfyui'
static_configs:
- targets: ['localhost:7861']
6.3 备份策略
关键数据备份清单:
models/目录(定期增量备份)custom_nodes/配置- 工作流JSON文件
- 输出成果目录
建议使用rsync进行增量备份:
bash复制rsync -avz --delete /home/data/stable/ComfyUI/ user@backup-server:/backup/comfyui/
我在实际部署中发现,使用ZFS文件系统可以显著提升大模型文件的读写效率,特别是在频繁加载不同模型时,ZFS的ARC缓存能减少约40%的加载时间。对于需要长期运行的生成任务,建议配置自动保存点功能,避免意外中断导致工作丢失。
