2026 实测:GPU VPS 上部署 ComfyUI 跑 Stable Diffusion / FLUX 文生图(避坑版)
2026-08-16 · DevCraft Studio
想在海外 GPU VPS 上自己搭一套 ComfyUI 文生图工作台?本文实测从驱动、CUDA、Docker 部署到 SSH 隧道与反向代理、模型持久化,手把手跑通 SDXL 与 FLUX.1,并讲清按量计费与选型避坑。
延伸阅读
更多相关攻略推荐:在 GPU VPS 上装 CUDA 跑大模型:驱动、nvidia-s、2026 按小时 GPU 成本横评:H100 / A100 / A4、【GPU VPS 01】带 GPU 的 VPS 怎么租最划算?H10、2026 游戏服 VPS 怎么选:高主频 CPU、内存与 DDoS 、2026 高主频 CPU VPS:单核性能、建站与游戏服的隐藏指标。
为什么要上 GPU VPS 跑 ComfyUI
先说结论:如果你本地是核显笔记本或者只有一张 6GB、8GB 的入门卡,想跑 SDXL 还算勉强,想跑 FLUX.1 基本就是灾难。FLUX.1 dev 全精度(fp16)要吃掉差不多 24GB 显存,量化版也得 12GB 往上。与其花一万多块升级一张 4090,不如直接租一台带 RTX 4090 的海外 GPU VPS,按小时算账,跑完就关机,算下来比买卡划算太多。
另外,ComfyUI 是节点式工作流,比 A1111 那种表单式 WebUI 灵活得多,可以做 ControlNet、高清放大、图生图串联起来的流水线。它也是目前 FLUX 生态最成熟的前端。把整套环境放到 VPS 上,好处还有三个:一是免备案,不用折腾国内服务器的域名接入;二是回国延迟能接受(选日本、新加坡、美西机房,ping 一般在 80 到 180ms);三是数据都在你自己机器上,模型权重不用来回传。
选卡:24GB 显存是甜点配置(实测)
显存是决定你能跑哪个模型的硬门槛,其他参数只影响速度。给个 2026 年还成立的经验表:
- SD 1.5:4 到 6GB 就够,老黄历了,现在基本只用来跑旧 LoRA。
- SDXL:8 到 12GB 能舒服地出 1024px,低于 8GB 会频繁 OOM。
- FLUX.1 schnell:用 fp8 或 GGUF 量化后约 12GB,出图只要 1 到 4 步,很快。
- FLUX.1 dev:全精度 fp16 约 24GB,量化版约 12GB;要追求最高画质就老老实实上 24GB。
所以结论很明确:24GB 是甜点配置。RTX 4090(24GB GDDR6X)性价比最高,A4000、A5000 也是 24GB 的稳妥之选;想要更大批量或 48GB 余量就上 RTX A6000 / L40S。像 Vultr 在多个机房提供 GPU 实例、支持按小时计费;Contabo 的 RTX 4090 按需价大约在 0.89 美元每小时,A6000 48GB 大约 1.29 美元每小时,比买卡便宜,适合中小团队和个人设计师。别一上来就追 A100、H100,那是训练大模型用的,出图纯属浪费钱。
系统准备:Ubuntu/Debian + 驱动与 CUDA
系统选 Ubuntu 22.04 或 Debian 12 都行,本文以 Ubuntu 22.04 为例。拿到机器第一件事,先确认 GPU 被识别:
lspci | grep -i nvidia
nvidia-smi如果 nvidia-smi 报错或者什么都没输出,说明驱动没装。用 Ubuntu 自带工具一键装官方驱动(推荐 550 以上版本,Ada 架构的 FP8 张量核才完整支持):
sudo apt update
sudo apt install -y ubuntu-drivers-common
sudo ubuntu-drivers autoinstall
sudo reboot重启后再跑 nvidia-smi,能看到显卡型号和驱动版本就对了。这里有个关键认知:你不需要单独装 CUDA Toolkit。后面装 PyTorch 时用官方预编译的 cu124 / cu128 轮子就行,CUDA 能力由 PyTorch 轮子提供,跟系统里有没有 CUDA Toolkit 没关系。Docker 方案连这个都省了,镜像里自带。
部署方式一:Docker 部署(最省心)
对绝大多数人,我推荐直接用 Docker,环境隔离、换机器也好迁移。先装 Docker 和 NVIDIA 容器工具包:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -fsSL https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker验证 GPU 能在容器里被看到:
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi能输出显卡信息,说明容器能调 GPU 了。接下来启动 ComfyUI,注意把模型和输出目录挂出来(这点下面专门讲):
mkdir -p ~/comfyui/models/checkpoints ~/comfyui/output ~/comfyui/custom_nodes
docker run -d --gpus all --name comfyui -p 8188:8188 -v ~/comfyui/models:/root/ComfyUI/models -v ~/comfyui/output:/root/ComfyUI/output -v ~/comfyui/custom_nodes:/root/ComfyUI/custom_nodes --restart unless-stopped yanwk/comfyui-boot:cu128-slim这个镜像内置了 ComfyUI 本体和 ComfyUI-Manager,CUDA 12.8,对新手友好。想换官方镜像也行,比如 ghcr.io/comfyanonymous/comfyui 或 ai-dock/comfyui,但要注意不同镜像的容器内模型路径不一样,挂载时别挂错。看日志确认启动成功:
docker logs -f comfyui部署方式二:手动 venv 安装(更可控)
如果你要深度定制、装特殊依赖,或者镜像源访问不稳,手动装也很快。注意用 Python 3.11,轮子最全:
sudo apt install -y git python3.11 python3.11-venv
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3.11 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt跑起来的时候,千万别直接 bind 到 0.0.0.0 就完事,除非你已经做好了反向代理和鉴权。安全起见先只监听本地回环,访问走 SSH 隧道:
python main.py --listen 127.0.0.1 --port 8188 --highvram--highvram 参数在 4090 这种大显存卡上强烈建议加上,它让 ComfyUI 把 UNet、VAE、文本编码器常驻显存,省掉每步在 CPU 和 GPU 之间搬数据的开销。实测不开的话 FLUX.1 dev 单步延迟从 0.55 秒涨到 0.9 秒,差别很大。
持久化存储:别让模型白下载(避坑核心)
这是新手最容易踩的坑,我单独拎出来说。ComfyUI 的模型动辄 2GB 到 30GB 一个,FLUX 全套下来几十 GB。如果你把模型放在容器内部默认目录、或者放在系统盘临时分区,一旦关机、重置、容器被删,模型全没了,下次又要重新下几小时。正确做法:把 models、output、custom_nodes 三个目录挂到宿主机的持久化磁盘(块存储 / 数据卷)。
上面 Docker 命令里的 -v 就是在干这个。如果你用的是按量计费的 GPU VPS,记得确认挂载的磁盘是和实例解耦的独立卷——很多厂商的「系统盘」在关机后模型还在,但整机销毁就跟着没了。稳妥起见,把模型卷单独挂一块数据盘,实例删了卷还在。手动安装同理,把 ComfyUI 放在一块独立的数据盘上,比如 /data/comfyui,而不是 /root 下。
还有一个坑:模型目录结构要对。ComfyUI 不是把所有权重放一个文件夹,安装自定义节点也要放对地方:
~/comfyui/models/checkpoints # SD 1.5 / SDXL / FLUX 的单文件 checkpoint
~/comfyui/models/unet # FLUX 拆分的 UNet
~/comfyui/models/clip # FLUX 的文本编码器
~/comfyui/models/vae # VAE
~/comfyui/custom_nodes # 自定义节点(插件)远程访问:SSH 隧道 vs 反向代理(安全篇)
ComfyUI 默认没鉴权,把 8188 裸奔到公网非常危险——别人扫到就能用你的 GPU 白嫖出图,甚至通过工作流执行做些不该做的事。两条正路:
方案一:SSH 隧道(最推荐,个人用)。在本地电脑上敲:
ssh -L 8188:localhost:8188 user@你的服务器IP保持这个 SSH 连接开着,浏览器打开 http://localhost:8188 就行,所有流量都走加密隧道,外面根本扫不到 8188。缺点是你关机或断网,访问就断了。
方案二:Nginx 反向代理 + HTTPS(团队 / 长期用)。先放行 80/443,再用 Nginx 把域名反代到本地 8188,并配 Let's Encrypt 证书。重点:ComfyUI 用了 WebSocket,反代必须带上 Upgrade 头,否则界面能开但队列不刷新:
server {
listen 80;
server_name your.domain.com;
location / {
proxy_pass http://127.0.0.1:8188;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}配完用 certbot 申请证书:sudo apt install -y certbot python3-certbot-nginx && sudo certbot --nginx -d your.domain.com。防火墙记得只对自己的办公 IP 放开 8188,不要让 0.0.0.0/0 直接访问。
下载模型:SDXL 与 FLUX.1 放哪个目录
模型不在 ComfyUI 里,得自己下。国内直连 Hugging Face 经常抽风,可以走 HF 的官方 resolve 直链,或者用镜像源、aria2c 多线程加速。SDXL 是单文件,丢进 checkpoints:
cd ~/comfyui/models/checkpoints
wget -O sd_xl_base_1.0.safetensors "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"想先跑起来,FLUX.1 schnell 的 fp8 版最省事(约 12GB,Apache-2.0 可商用):
wget -O flux1-schnell-fp8.safetensors "https://huggingface.co/Comfy-Org/flux1-schnell/resolve/main/flux1-schnell-fp8.safetensors"追求最高画质用 FLUX.1 dev,它是拆分的:主模型放 models/unet,文本编码器放 models/clip,VAE 放 models/vae,三个都得下齐。注意 FLUX.1 dev 是非商用许可,别拿去做付费商单。
插件方面,第一件事装 ComfyUI-Manager,后面所有自定义节点都能在界面里一键装:
cd ~/comfyui/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
docker restart comfyui跑通第一张图 + FLUX 工作流参数
浏览器进 ComfyUI,默认就有一个工作流:Load Checkpoint → CLIP Text Encode(正向提示词)→ KSampler → VAE Decode → Save Image。把模型选成你刚下的 SDXL 或 FLUX,点 Queue Prompt 就能出图。几个实战参数:
- SDXL:KSampler 步数 28,CFG 7,采样器 dpmpp_2m,尺寸 1024x1024,单张在 4090 上约 2 秒。
- FLUX.1 dev:步数 20 到 50,CFG 3.5 到 5,采样器 euler 或 dpmpp_2m,尺寸 1024x1024。
- FLUX.1 schnell:只要 1 到 4 步,CFG 设为 1 效果最好,出图飞快。
显存不够又想跑大模型,启动参数加 --lowvram 或 --normalvram,用 CPU 和 GPU 之间换页来换显存,速度慢点但不崩。想再快可以装 xformers(cu130 标签不支持,注意镜像说明)。
按量计费与省钱技巧
GPU VPS 最大的优势是按量计费,但账单会悄悄涨,几个省法:
- 跑完就关机:按小时计费的实例,不用的时候一定 stop,别挂着。很多厂商关机后只收磁盘钱,GPU 不收费。
- 用竞价 / 可中断实例:Vast.ai、RunPod 这类市场有 spot 实例,比按需便宜 40% 到 70%,适合带检查点的批量出图,被回收也不心疼。
- 存储也计费:持久化卷是按容量月付的,别囤几百 GB 用不上的模型,只留常用的五六个。
- 别为 CPU 和内存花冤枉钱:出图 95% 吃 GPU,给你 32 核 128GB 内存纯属浪费,4 到 8 核、32GB 内存足够。
- 注意流量出口费:部分厂商(包括 Vultr)对出网流量(egress)收费,你一把出几千张图往回拉,流量费可能比 GPU 还贵,选带免费带宽或打包流量的方案。