🚀 实战入门:在服务器单卡部署 ComfyUI + Wan2.1 文生视频最佳实践
背景: 公司新媒体同事用闭源工具烧钱烧到财务报警,素材还往外网扔,老板直接放话:“本地化,自己搞一个能文生视频的。”
目标: 在一台全新的 Ubuntu 服务器上,“傻瓜式”地部署 ComfyUI,用于 Wan2.1 文生视频 (T2V)。
核心原则:
- 环境隔离: 绝不污染系统 Python,使用
venv。 - 资源隔离: 绝不抢占其他服务(如 vLLM),指定 GPU 运行。
- 网络优化: 全程使用国内镜像加速。
- 稳定运维: 使用
screen进行后台持久化运行。
📚 一、环境准备 (Prerequisites)
在开始之前,确保您的新服务器满足以下条件。
-
检查NVIDIA驱动与CUDA
nvidia-smi- 确保能看到显卡列表(如 4090)和 CUDA 版本(如 12.x)。
-
检查核心工具
python3 --version(推荐 Python 3.10 或 3.11)git --versionscreen --version
-
(可选) 安装工具
-
如果缺少工具,运行:
Bash
1 2
sudo apt update sudo apt install python3-venv git screen
组件 详情 检查命令 操作系统 Ubuntu (Linux) uname -aGPU 8 x NVIDIA GeForce RTX 4090 nvidia-smiNVIDIA 驱动 570.124.06 nvidia-smiCUDA 版本 12.8 (由驱动支持) nvidia-smiPython 版本 3.10.9 python3 --versionGit 版本 2.43.0 git --version
-
📦 二、项目安装与环境隔离 (v-e-n-v)
-
创建项目根目录:
Bash
1 2 3
cd ~ mkdir My-ComfyUI cd My-ComfyUI
-
创建虚拟环境:
Bash
1
python3 -m venv venv
-
(关键!) 激活虚拟环境:
Bash
1
source venv/bin/activate
- 您的终端提示符前面会出现
(venv)标记。
- 您的终端提示符前面会出现
-
克隆 ComfyUI:
Bash
1 2
git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI
- 此时,您应位于
~/My-ComfyUI/ComfyUI目录,且(venv)已激活。
- 此时,您应位于
🚀 三、安装依赖 (国内镜像加速)
-
(推荐) 升级 pip:
Bash
1
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
-
(关键) 安装 PyTorch (cu121):
- 使用中科大 (USTC) 镜像,它对 PyTorch 的
cuXXX路径支持最好。
Bash
1
pip install torch torchvision torchaudio --index-url https://pypi.mirrors.ustc.edu.cn/pytorch-wheels/cu121
- 使用中科大 (USTC) 镜像,它对 PyTorch 的
-
安装 ComfyUI 其它依赖:
- 使用清华 (Tsinghua) PyPI 镜像。
Bash
1
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
💾 四、下载 Wan2.1 (T2V) 核心模型
- 我们使用
hf-mirror.com国内镜像,并用wget -O直接保存到正确目录。
-
下载 T2V 核心模型 (约 5.18 GB):
Bash
1 2 3
mkdir -p models/diffusion_models wget -O models/diffusion_models/wan2.1_t2v_1.3B_fp16.safetensors \ https://hf-mirror.com/ali-vilab/wan2.1-t2v/resolve/main/diffusion_models/wan2.1_t2v_1.3B_fp16.safetensors
-
下载文本编码器 (约 6.27 GB):
Bash
1 2 3
mkdir -p models/text_encoders wget -O models/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors \ https://hf-mirror.com/ali-vilab/wan2.1-fun/resolve/main/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors
-
下载 VAE (约 242 MB):
Bash
1 2 3
mkdir -p models/vae wget -O models/vae/wan_2.1_vae.safetensors \ https://hf-mirror.com/ali-vilab/wan2.1-fun/resolve/main/vae/wan_2.1_vae.safetensors
🛠️ 五、安装 ComfyUI Manager (管理节点)
这是为了方便未来安装新的自定义节点。
-
进入
custom_nodes目录:Bash
1
cd ~/My-ComfyUI/ComfyUI/custom_nodes
-
克隆 Manager:
Bash
1
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
-
(重要) 未来如何手动安装节点:
- 我们以
VideoHelperSuite为例,这是“傻瓜”步骤:
Bash
1 2 3 4 5 6 7 8 9 10 11 12
# 1. 在 custom_nodes 目录克隆 git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git # 2. 进入新节点目录 cd ComfyUI-VideoHelperSuite # 3. (关键!) 激活 venv 并安装它的依赖 source ../../../venv/bin/activate pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 4. 回到 ComfyUI 根目录 cd ../..
- 我们以
🖥️ 六、部署与日常维护 (Screen)
1. 首次启动 (前台测试)
-
回到 ComfyUI 根目录:
Bash
1
cd ~/My-ComfyUI/ComfyUI
-
(关键!) 激活虚拟环境 (如果已失效):
Bash
1
source ../venv/bin/activate
-
指定 GPU 6 启动:
Bash
1
CUDA_VISIBLE_DEVICES=6 python main.py --listen
-
在您本地电脑浏览器访问
http://[服务器IP]:8188。 -
拖入 T2V 工作流 (wan_t2v.json),点击 “Queue Prompt” 测试。
-
测试成功后,在 SSH 终端按
Ctrl + C停止。
2. 后台部署 (Screen)
-
创建一个名为
comfyui的 screen 会话:Bash
1
screen -S comfyui
-
您会进入一个“新”的终端。在这个新终端里,执行标准启动流程:
Bash
1 2 3 4 5 6 7 8 9 10
# 1. 进入目录 cd ~/My-ComfyUI/ComfyUI # 2. 激活环境 source ../venv/bin/activate # 3. 指定 GPU 6 启动 (这次不需要 &) CUDA_VISIBLE_DEVICES=6 python main.py --listen CUDA_VISIBLE_DEVICES=6 python main.py --listen --enable-cors
-
程序开始运行。现在,您可以“脱离”这个会话了。
- 按
Ctrl + A,然后松开,再按D。
- 按
-
您会返回主终端,看到
[detached]。程序已在后台运行,您可以关闭 SSH 了。
3. 日常维护
-
如何重连会话 (查看日志/停止程序):
Bash
1
screen -r comfyui
- 您会瞬间跳回 ComfyUI 的日志界面。按
Ctrl + C即可停止。
- 您会瞬间跳回 ComfyUI 的日志界面。按
-
如何更新 ComfyUI:
screen -r comfyui(重连)Ctrl + C(停止)git pull(更新 ComfyUI 代码)source ../venv/bin/activate(激活环境)pip install -r requirements.txt -i ...(更新依赖)CUDA_VISIBLE_DEVICES=6 python main.py --listen(重新启动)Ctrl + A, D(脱离)
-
如何查看所有 screen 会话:
Bash
1
screen -ls
❓ 七、常见问题 (Q&A)
- Q: 提示
Some Nodes Are Missing(缺少节点)?- A: 见【五.3】。
git clone节点到custom_nodes,然后cd进去pip install -r requirements.txt。
- A: 见【五.3】。
- Q: 我要 T2V,为什么提示我上传视频?
- A: 您拖入了错误的工作流 (如
wan2.1-fun.json)。T2V 请使用wan_t2v.json工作流。
- A: 您拖入了错误的工作流 (如