ComfyUI Linux 服务器部署完全教程:从安装到多模型实战(RTX A6000 生产环境)
本文基于 Ubuntu 22.04 + NVIDIA RTX A6000 + Python venv 的真实生产环境,手把手教你完成 ComfyUI 的完整部署、模型配置、插件安装和实战出图。不同于常见的 Windows 桌面教程,本文聚焦服务器级部署,涵盖远程访问、多模型管理、后台服务等运维实战内容,适合需要在 Linux 服务器上搭建 AI 绘图平台的开发者或运维人员。
📋 文章目录
前言
ComfyUI 是一款基于节点式工作流的 Stable Diffusion 前端工具,相比 WebUI(Automatic1111),它的优势在于:
- 工作流灵活:通过连接节点构建复杂的图像生成流程,支持文生图、图生图、视频生成、图像编辑等多种场景
- 显存优化
- 生态丰富:支持 Flux、SDXL、Qwen Image、LTX Video 等主流模型,社区插件活跃
本文的环境是一台真实运行的生产服务器,配置如下:
| |
|---|
| |
| NVIDIA RTX A6000(48GB 显存) |
| |
| |
| |
| |
| |
| |
为什么选 venv 而不是 Conda? 服务器环境下 venv 更轻量,不会引入额外的 Conda 依赖层,且与系统 Python 兼容性更好。对于运维场景,venv 是更干净的选择。
一、环境准备
1.1 硬件要求
ComfyUI 对硬件有一定要求,以下是参考配置:
本文环境为 RTX A6000(48GB 显存),可以流畅运行 Flux Dev、Qwen Image Edit 等大参数模型。
1.2 检查 NVIDIA 驱动
# 查看 GPU 信息nvidia-smi# 确认驱动版本(需 >= 520.61.05 以支持 CUDA 11.8)nvidia-smi | grep "Driver Version"
正常输出应显示 GPU 型号、显存、驱动版本和 CUDA 版本:
坑点提示:如果遇到 Failed to initialize NVML: Driver/library version mismatch,说明内核模块版本与用户态库不匹配。通常是驱动更新后未重启,执行 sudo reboot 重启服务器即可解决。
1.3 确认 Python 版本
Ubuntu 22.04 自带 Python 3.10,满足 ComfyUI 要求:
python3 --version# 输出: Python 3.10.12
如果系统 Python 版本过低,建议使用 pyenv 安装 Python 3.10+。
二、安装 Python 虚拟环境(venv)
2.1 安装 python3-venv
Ubuntu 系统默认可能未安装 venv 模块:
sudo apt updatesudo apt install -y python3-venv python3-pip
2.2 创建虚拟环境
选择一个合适的目录存放虚拟环境,本文使用 /data/ai/venv:
# 创建项目目录mkdir -p /data/ai# 创建虚拟环境python3 -m venv /data/ai/venv
2.3 激活虚拟环境
source /data/ai/venv/bin/activate
激活后,终端前缀会显示 (venv):
(venv) root@llmserver:/data/ai#
提示:后续所有 pip install 命令都需要在激活 venv 的状态下执行。也可以直接使用 /data/ai/venv/bin/pip 和 /data/ai/venv/bin/python 来操作,无需激活。
2.4 升级 pip
/data/ai/venv/bin/pip install --upgrade pip
三、安装 PyTorch(CUDA 11.8)
PyTorch 是 ComfyUI 的核心计算框架,需要根据 CUDA 版本选择对应的安装命令。
3.1 确认 CUDA 版本
nvidia-smi | grep "CUDA Version"# 输出: CUDA Version: 11.8
3.2 安装 PyTorch(CUDA 11.8 版)
/data/ai/venv/bin/pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
版本说明:本文安装的是 PyTorch 2.7.1+cu118。如果 NVIDIA 驱动支持更高版本 CUDA(如 12.1/12.4),也可以选择对应的 PyTorch 版本,命令中将 cu118 替换为 cu121 或 cu124 即可。
3.3 验证安装
/data/ai/venv/bin/python -c "import torchprint(f'PyTorch 版本: {torch.__version__}')print(f'CUDA 可用: {torch.cuda.is_available()}')print(f'CUDA 版本: {torch.version.cuda}')print(f'GPU 设备: {torch.cuda.get_device_name(0)}')"
正常输出:
PyTorch 版本: 2.7.1+cu118CUDA 可用: TrueCUDA 版本: 11.8GPU 设备: NVIDIA RTX A6000
四、下载 ComfyUI 源码
4.1 方式一:Git 克隆(推荐)
# 安装 git(如果尚未安装)sudo apt install -y git# 克隆 ComfyUI 源码cd /data/aigit clone https://github.com/comfyanonymous/ComfyUI.git ComfyUI-master
4.2 方式二:下载 ZIP 包
如果服务器无法访问 GitHub 或没有 Git,可以从官网下载 ZIP 包:
cd /data/aiwget https://github.com/comfyanonymous/ComfyUI/archive/refs/heads/master.zip -O ComfyUI.zipunzip ComfyUI.zipmv ComfyUI-master ComfyUI-master # 如果解压后名称不同,重命名
也可以从 ComfyUI Releases 页面下载指定版本。
4.3 目录结构说明
下载完成后,ComfyUI 的主要目录结构如下:
/data/ai/ComfyUI-master/├── main.py # 启动入口├── comfy/ # 核心代码├── comfy_extras/ # 扩展功能├── models/ # 模型存放目录(核心!)│ ├── checkpoints/ # 基础模型(SD 1.5, SDXL)│ ├── diffusion_models/ # 扩散模型(Flux, Qwen Image)│ ├── loras/ # LoRA 微调模型│ ├── vae/ # VAE 编码/解码器│ ├── controlnet/ # ControlNet 模型│ ├── clip/ # CLIP 文本编码器│ └── ...├── custom_nodes/ # 自定义节点(插件)├── output/ # 生成图片输出目录├── input/ # 输入图片目录(图生图用)├── requirements.txt # Python 依赖清单└── extra_model_paths.yaml.example # 外部模型路径配置模板
五、安装 ComfyUI 依赖
5.1 安装系统依赖
部分 Python 包需要系统级依赖:
sudo apt install -y libgl1 libglib2.0-0 libsm6 libxext6 libxrender-dev
5.2 安装 Python 依赖
cd /data/ai/ComfyUI-master/data/ai/venv/bin/pip install -r requirements.txt
等待安装完成(通常 3-5 分钟)。主要依赖包括:
5.3 验证依赖完整性
/data/ai/venv/bin/pip list | grep -iE 'torch|safetensors|transformers|kornia|accelerate'
六、启动 ComfyUI 与远程访问配置
6.1 基本启动
cd /data/ai/ComfyUI-master/data/ai/venv/bin/python main.py
默认监听 127.0.0.1:8188,只能在本机访问。
6.2 远程访问配置(重点!)
服务器环境下通常需要远程访问,通过 --listen 参数监听所有网络接口:
/data/ai/venv/bin/python main.py --listen 0.0.0.0 --port 8188
启动后,终端会输出:
Total VRAM 49140 MB, total RAM 127948 MBDevice: cuda:0 NVIDIA RTX A6000...To see the GUI go to: http://0.0.0.0:8188
此时在任意电脑的浏览器中访问 http://服务器IP:8188 即可打开 ComfyUI 界面:
6.3 常用启动参数
| | |
|---|
--listen | | --listen 0.0.0.0 |
--port | | --port 8188 |
--lowvram | | |
--highvram | | |
--cpu-vram | | |
--preview-method | | --preview-method auto |
--output-directory | | |
--disable-metadata | | |
完整启动命令示例:
/data/ai/venv/bin/python main.py \ --listen 0.0.0.0 \ --port 8188 \ --preview-method auto
6.4 后台运行(nohup 方式)
临时后台运行可以使用 nohup:
cd /data/ai/ComfyUI-masternohup /data/ai/venv/bin/python main.py --listen 0.0.0.0 --port 8188 > /data/ai/comfyui.log 2>&1 &# 查看进程ps aux | grep main.py# 查看日志tail -f /data/ai/comfyui.log# 停止服务kill (pgrep -f "main.py --listen")# 重新启动cd /data/ai/ComfyUI-master/data/ai/venv/bin/python main.py --listen 0.0.0.0 --port 8188
八、安装自定义节点(插件)
自定义节点(Custom Nodes)是 ComfyUI 的扩展插件,用于增强功能。本环境安装了以下 9 个插件:
8.1 已安装插件清单
| | |
|---|
| ComfyUI-Manager | github.com/ltdrdata/ComfyUI-Manager | |
| ComfyUI-Impact-Pack | github.com/ltdrdata/ComfyUI-Impact-Pack | |
| ComfyUI_IPAdapter_plus | github.com/cubiq/ComfyUI_IPAdapter_plus | |
| comfyui_controlnet_aux | | 🎮 ControlNet 预处理器(姿态/边缘/深度) |
| comfyui-kjnodes | | |
| comfyui_layerstyle | | |
| comfyui_tinyterranodes | | |
| rgthree-comfy | github.com/rgthree/rgthree-comfy | ⚡ 上下文节点、批处理、Mute/Bypass 快捷操作 |
| seedvr2_videoupscaler | | |
8.2 通过 ComfyUI-Manager 安装(推荐)
安装 ComfyUI-Manager 后,可以直接在 Web 界面中管理插件:
- 选择 「Install Custom Nodes」
- 安装完成后点击 Restart 重启 ComfyUI
8.3 手动安装插件(Git Clone)
也可以通过命令行手动安装:
cd /data/ai/ComfyUI-master/custom_nodes# 安装 ComfyUI-Manager(必须最先安装)git clone https://github.com/ltdrdata/ComfyUI-Manager.git# 安装 Impact Packgit clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git# 安装 IPAdapter Plusgit clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git# 安装 ControlNet 辅助节点git clone https://github.com/Fannovel16/comfyui_controlnet_aux.git# 安装 rgthree-comfygit clone https://github.com/rgthree/rgthree-comfy.git
安装后需要安装各插件的 Python 依赖:
# 批量安装插件依赖for dir in /data/ai/ComfyUI-master/custom_nodes/*/; do if [ -f "(basename dir/requirements.txt" fidone
8.4 重启 ComfyUI
安装插件后需要重启服务:
kill host; proxy_set_header X-Real-IP proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto http_upgrade; proxy_set_header Connection "upgrade"; # 大文件上传支持 client_max_body_size 100M; }}
10.5 模型存储路径优化
如果模型文件存放在其他磁盘或共享存储,可以通过 extra_model_paths.yaml 配置外部路径:
cp /data/ai/ComfyUI-master/extra_model_paths.yaml.example /data/ai/ComfyUI-master/extra_model_paths.yaml
编辑 extra_model_paths.yaml:
shared_models: checkpoints: /data/shared/models/checkpoints/ diffusion_models: /data/shared/models/diffusion_models/ loras: /data/shared/models/loras/ vae: /data/shared/models/vae/ # 其他模型类型同理
这样 ComfyUI 启动时会同时扫描默认目录和外部目录中的模型。
十一、常见问题排查
11.1 nvidia-smi 报错 “Driver/library version mismatch”
Failed to initialize NVML: Driver/library version mismatchNVML library version: 595.84
原因:驱动更新后内核模块未更新(未重启服务器)。
解决:
# 方法一:重启服务器(推荐)sudo reboot# 方法二:重新加载内核模块(不重启)sudo rmmod nvidia_uvm nvidia_drm nvidia_modeset nvidiasudo modprobe nvidia
注意:如果 PyTorch 能正常识别 GPU(torch.cuda.is_available() 返回 True),说明 CUDA 运行时正常,只是 NVML 接口有问题,不影响 ComfyUI 运行。
11.2 模型下拉框看不到已放入的模型
排查步骤:
# 1. 确认文件实际存在ls -lh /data/ai/ComfyUI-master/models/checkpoints/# 2. 确认文件大小不为 0(下载中断会生成 0 字节文件)find /data/ai/ComfyUI-master/models/ -name "*.safetensors" -size 0# 3. 重启 ComfyUIsudo systemctl restart comfyui# 4. 在 Web 界面点击 Manager → "Refresh" 刷新模型列表
11.3 显存不足(Out of Memory)
CUDA out of memory. Tried to allocate XX GiB
解决方案:
# 使用低显存模式启动/data/ai/venv/bin/python main.py --listen 0.0.0.0 --port 8188 --lowvram# 或使用 FP8 精度模型(文件名带 fp8 的版本)# 如 flux1-dev-kontext_fp8_scaled.safetensors(12GB)替代 flux1-dev.safetensors(23GB)
11.4 端口 8188 被占用
# 查看占用进程sudo lsof -i :8188# 或sudo ss -tlnp | grep 8188# 杀掉占用进程kill -9 <PID># 或换一个端口启动/data/ai/venv/bin/python main.py --listen 0.0.0.0 --port 8189
11.5 自定义节点加载失败
# 查看启动日志中的错误sudo journalctl -u comfyui | grep -i error# 通常是缺少依赖,进入插件目录安装cd /data/ai/ComfyUI-master/custom_nodes/<插件名>/data/ai/venv/bin/pip install -r requirements.txt# 重启服务sudo systemctl restart comfyui
11.6 远程访问不了
# 1. 确认服务正在运行sudo systemctl status comfyui# 2. 确认端口在监听sudo ss -tlnp | grep 8188# 3. 确认防火墙放行sudo ufw status# 4. 从客户端测试连通性curl -I http://172.16.124.4:8188
11.7 问题速查表
| |
|---|
torch.cuda.is_available() | 检查 NVIDIA 驱动版本、PyTorch CUDA 版本是否匹配 |
| 执行 pip install -r requirements.txt |
| |
| 使用 sdxl_vae-fp16-fix 等修复版 VAE |
| 检查 --listen 0.0.0.0 参数和防火墙配置 |
| 确认 GPU 被正确识别,使用 --highvram 模式 |
| HuggingFace 私有模型需要配置 Token |
总结
本文基于一台真实的 Ubuntu 22.04 + RTX A6000 生产服务器,完整记录了 ComfyUI 从零部署到多模型实战的全过程。与常见的 Windows 桌面教程相比,本文重点关注了以下服务器级部署的独特内容:
- venv 虚拟环境:比 Conda 更轻量的 Python 环境管理方案
- 远程访问配置:通过
--listen 0.0.0.0 实现多人共享访问 - 多模型管理:SDXL、Flux 全系列、Qwen Image 等多类模型并行部署
- Systemd 服务
- Nginx 反向代理
- 防火墙配置
环境关键信息速览
# 启动命令cd /data/ai/ComfyUI-master/data/ai/venv/bin/python main.py --listen 0.0.0.0 --port 8188# 访问地址http://服务器IP:8188# 模型目录/data/ai/ComfyUI-master/models/checkpoints/ # SDXL 等基础模型/data/ai/ComfyUI-master/models/diffusion_models/ # Flux 等扩散模型/data/ai/ComfyUI-master/models/loras/ # LoRA 微调模型/data/ai/ComfyUI-master/models/vae/ # VAE 编解码器# 插件目录/data/ai/ComfyUI-master/custom_nodes/# 输出目录/data/ai/ComfyUI-master/output/
核心软件版本
希望这篇文章能帮助你快速在 Linux 服务器上搭建起自己的 AI 绘图平台。如果在部署过程中遇到问题,欢迎在评论区留言交流!
📬 资料领取与交流
如果觉得文章对你有帮助,想获取更多 ComfyUI 工作流模板、模型下载清单、插件配置包 等资料,欢迎扫码添加我的sunhy_000,备注 「ComfyUI」。
也欢迎在评论区留言提问,看到都会回复。一起学习 ComfyUI!
参考资料:
- CivitAI 模型社区 I-master/models/diffusion_models/ # Flux 等扩散模型 /data/ai/ComfyUI-master/models/loras/ # LoRA 微调模型 /data/ai/ComfyUI-master/models/vae/ # VAE 编解码器
插件目录
/data/ai/ComfyUI-master/custom_nodes/
输出目录
/data/ai/ComfyUI-master/output/
### 核心软件版本| 组件 | 版本 ||------|------|| OS | Ubuntu 22.04.5 LTS || GPU | NVIDIA RTX A6000 (48GB) || Python | 3.10.12 || PyTorch | 2.7.1+cu118 || ComfyUI | 最新 Master 分支 || ComfyUI-Manager | 4.2.2 |希望这篇文章能帮助你快速在 Linux 服务器上搭建起自己的 AI 绘图平台。如果在部署过程中遇到问题,欢迎在评论区留言交流!---## 📬 资料领取与交流如果觉得文章对你有帮助,想获取更多 **ComfyUI 工作流模板、模型下载清单、插件配置包** 等资料,欢迎扫码添加我的微信,备注 **「ComfyUI」**,我会统一拉你进交流社群。> 也欢迎在评论区留言提问,看到都会回复。一起学习 ComfyUI!---> **参考资料**:> - [ComfyUI 官方文档](https://docs.comfy.org/)> - [ComfyUI GitHub 仓库](https://github.com/comfyanonymous/ComfyUI)> - [ComfyUI-Manager](https://github.com/ltdrdata/ComfyUI-Manager)> - [HuggingFace 模型库](https://huggingface.co/)> - [CivitAI 模型社区](https://civitai.com/)