目录
把 ComfyUI 装到一台带 NVIDIA 显卡的 Linux 机器上,本地用浏览器打开 WebUI。下面以 Ubuntu 22.04 为主,其它发行版在对应小节给了等价命令。
说明
文中不写真实 IP、密码、代理地址。需要你自己替换的地方用尖括号占位:
<REMOTE_HOST>:远程主机<REMOTE_USER>/<REMOTE_PASS>:SSH 账号<HTTP_PROXY>:形如http://host:port的代理(不需要就整段跳过)- 端口默认
8188
架构
本地机器 --SSH--> 远程 GPU Linux 浏览器 --HTTP--> http://<REMOTE_HOST>:8188
代码和推理都在远程跑。远程需要 Python 3.10+、可用的 NVIDIA 驱动(nvidia-smi 能出信息),磁盘最好留 20GB 以上给模型。
1. 先摸清环境
SSH 上去执行:
bashcat /etc/os-release | head -3
uname -a
which python3; python3 --version
nvidia-smi --query-gpu=driver_version,name,memory.total --format=csv,noheader
nvidia-smi | grep -i 'CUDA Version'
df -h ~
python3 -m venv --help >/dev/null 2>&1 && echo VENV_OK || echo VENV_MISSING
which git curl
记下驱动版本和 CUDA Version,后面选 PyTorch 的 CUDA 包全靠这个。
2. 系统依赖
很多云镜像没有 python3-venv,直接建虚拟环境会报错。先装:
bash# apt 建议直连,不要挂代理
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
echo <REMOTE_PASS> | sudo -S apt-get update -qq
echo <REMOTE_PASS> | sudo -S apt-get install -y python3.10-venv python3.10-dev
其它系统:
| 系统 | 命令 |
|---|---|
| Debian/Ubuntu | sudo apt-get install -y python3-venv python3-dev |
| CentOS/Rocky 8+ | sudo dnf install -y python3-devel,再装 Development Tools |
| Arch | sudo pacman -S python python-virtualenv base-devel |
| 没有 sudo | 用 Miniconda / pyenv 自建 Python,跳过系统包 |
3. 拉源码、建虚拟环境
bash# 访问 GitHub 需要代理时再开;直连就跳过
export https_proxy=<HTTP_PROXY>
export http_proxy=$https_proxy
cd ~
git clone --depth 1 https://github.com/comfy-org/comfyui.git
cd ~/comfyui
python3 -m venv venv
source venv/bin/activate
python -m ensurepip --upgrade
pip install --upgrade pip wheel
没有 sudo、也装不了 venv 时,可用 Miniconda:
bashwget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
source $HOME/miniconda3/etc/profile.d/conda.sh
conda create -y -n comfy python=3.11
conda activate comfy
后面 pip 用法和 venv 一样。
4. 先装 CUDA 版 PyTorch(别踩 CPU 包)
ComfyUI 的 requirements.txt 里 torch 没有锁 CUDA 版本。直接 pip install -r requirements.txt 很容易装到 CPU 版——服务能起,出图极慢,--cuda-device 还会报错。
正确顺序是 先装 CUDA torch,再装其余依赖:
bashexport https_proxy=<HTTP_PROXY>
export http_proxy=$https_proxy
export PIP_PROXY=$https_proxy
# 按驱动选 cu 标签,拿不准选不高于驱动支持版本的
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
pip install -r ~/comfyui/requirements.txt
参考对照(nvidia-smi 里的 CUDA Version 是驱动支持的上限,新驱动可以跑旧 wheel):
| 驱动大致范围 | 可选 tag |
|---|---|
| R450+ | cu117 / cu118 |
| R525+ | cu121 / cu124 |
| R535+ | cu126 |
| R570+ | cu128 |
验证:
bashpython -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())"
# 期望 available 为 True
AMD 走 ROCm 源;苹果 Silicon 装默认 torch;纯 CPU 调试再加启动参数 --cpu。
5. 启动
写个脚本 ~/start_comfy.sh:
bash#!/usr/bin/env bash
set -e
cd ~/comfyui
source venv/bin/activate
exec python main.py \
--listen 0.0.0.0 \
--port 8188 \
--cuda-device 0 \
--preview-method auto
后台跑(SSH 断开也不退出):
bashchmod +x ~/start_comfy.sh
setsid bash ~/start_comfy.sh > ~/comfy.log 2>&1 < /dev/null &
放行端口:云厂商安全组开 TCP 8188;本机 ufw 则 sudo ufw allow 8188。
检查:
bashcurl -s -o /dev/null -w 'HTTP %{http_code}\n' http://127.0.0.1:8188/
(ss -ltnp 2>/dev/null || netstat -ltnp 2>/dev/null) | grep 8188
tail -n 30 ~/comfy.log
浏览器打开 http://<REMOTE_HOST>:8188。页面能开不等于能出图——还要把扩散模型放到 ~/comfyui/models/checkpoints/。GGUF 是给 llama.cpp 一类文本推理用的,ComfyUI 用不上。
常用参数:--lowvram / --normalvram / --highvram 控显存;--listen 127.0.0.1 只本机访问,外面用 SSH 隧道或 Nginx 反代更安全。
6. 一条龙(占位符版)
bashunset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
echo <REMOTE_PASS> | sudo -S apt-get update -qq
echo <REMOTE_PASS> | sudo -S apt-get install -y python3.10-venv python3.10-dev
export https_proxy=<HTTP_PROXY>; export http_proxy=$https_proxy
cd ~ && git clone --depth 1 https://github.com/comfy-org/comfyui.git
cd ~/comfyui
python3 -m venv venv && source venv/bin/activate
python -m ensurepip --upgrade && pip install --upgrade pip wheel
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
pip install -r requirements.txt
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
cat > ~/start_comfy.sh <<'EOF'
#!/usr/bin/env bash
set -e
cd ~/comfyui
source venv/bin/activate
exec python main.py --listen 0.0.0.0 --port 8188 --cuda-device 0 --preview-method auto
EOF
chmod +x ~/start_comfy.sh
setsid bash ~/start_comfy.sh > ~/comfy.log 2>&1 < /dev/null &
sleep 8
curl -s -o /dev/null -w 'HTTP %{http_code}\n' http://127.0.0.1:8188/
7. 常见问题
| 现象 | 处理 |
|---|---|
python3 -m venv 缺包 | 装 python3-venv / python3-dev |
| torch 是 CPU 版 | 用 --index-url .../whl/cu12x 先装 torch |
cuda.is_available() 为 False | 换更低的 cu 标签,确认在 venv 里 |
| 页面打不开 | 安全组 / ufw / --listen 0.0.0.0 |
| apt 卡住 | unset 代理后再装 |
| 断 SSH 进程没了 | 用 setsid 或 nohup |
| 显存 OOM | --lowvram,或换小模型 |
8. 可选:Nginx 反代
nginxserver { listen 443 ssl; server_name comfy.example.com; ssl_certificate /path/fullchain.pem; ssl_certificate_key /path/privkey.pem; location / { proxy_pass http://127.0.0.1:8188; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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; } }
这时建议把 ComfyUI 改成 --listen 127.0.0.1。
ai协作,人工编辑