AI漫剧云端部署方案:将ComfyUI/SD部署到云服务器

全面讲解如何将ComfyUI和Stable Diffusion部署到云服务器,包括Docker部署、远程访问配置、安全设置、成本优化等实战内容,帮助AI漫剧团队搭建稳定的云端创作环境。

AI漫剧工作室2026-04-0515 分钟阅读

一、云端部署概述

为什么需要云端部署

将ComfyUI和Stable Diffusion部署到云服务器,可以为AI漫剧团队带来以下优势:

  • 随时随地访问:通过浏览器远程使用,不受地点限制
  • 团队协作:多人共享同一套环境和模型
  • 算力弹性:根据需求随时调整GPU配置
  • 数据安全:项目文件集中存储,避免数据丢失
  • 持续运行:服务器24小时运行,支持长时间批量任务

部署方案对比

方案难度成本灵活性适用场景
GPU云平台(AutoDL等)个人/小团队
自建云服务器中高专业团队
Docker部署需要环境一致性
Kubernetes集群很高最高大规模生产

二、GPU云平台快速部署

2.1 AutoDL部署ComfyUI

AutoDL是国内最便捷的ComfyUI云端部署方案,适合个人创作者和小型团队。

步骤1:创建实例

# 1. 注册AutoDL账号并登录
# 2. 选择"容器实例" → "创建实例"
# 3. 配置参数:
#    - GPU: RTX 4090 (24GB) 推荐
#    - 镜像: 选择ComfyUI预配置镜像
#    - 磁盘: 50GB+ (模型文件较大)
#    - 地区: 选择延迟最低的区域

步骤2:配置环境

# SSH连接到实例后

# 检查GPU状态
nvidia-smi

# 进入ComfyUI目录
cd /root/ComfyUI

# 安装ComfyUI-Manager
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ..

# 安装常用插件
cd custom_nodes
git clone https://github.com/Fannovel16/comfyui_controlnet_aux.git
git clone https://github.com/cubiq/ComfyUI_IPAdapter_plus.git
cd ..

# 下载模型
cd models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors
cd ../..

步骤3:启动并配置访问

# 启动ComfyUI
cd /root/ComfyUI
nohup python main.py --listen 0.0.0.0 --port 8188 > comfyui.log 2>&1 &

# 查看日志
tail -f comfyui.log

# AutoDL提供了"自定义服务"功能
# 在控制台 → 自定义服务 → 开启8188端口
# 获取访问链接后在浏览器中打开

[!TIP] 在AutoDL上,建议将模型文件存储在 /root/autodl-tmp 目录下,而不是默认的模型目录。然后在ComfyUI中创建软链接指向实际存储位置。这样可以利用AutoDL的数据盘空间,并且在实例关机后数据不会丢失。

# 创建模型软链接
mkdir -p /root/autodl-tmp/models
ln -s /root/autodl-tmp/models/checkpoints /root/ComfyUI/models/checkpoints
ln -s /root/autodl-tmp/models/loras /root/ComfyUI/models/loras
ln -s /root/autodl-tmp/models/controlnet /root/ComfyUI/models/controlnet

2.2 恒源云部署ComfyUI

恒源云的部署流程与AutoDL类似:

# 1. 注册恒源云账号
# 2. 选择GPU实例(推荐RTX 4090)
# 3. 选择基础镜像(Ubuntu + CUDA)
# 4. SSH连接后手动安装ComfyUI

# 安装步骤
apt update && apt install -y git python3 python3-pip python3-venv
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python main.py --listen 0.0.0.0 --port 8188

三、自建云服务器部署

3.1 服务器选型

国内云服务商GPU服务器对比:

服务商GPU型号参考价格(元/月)特点
阿里云A10/A1005000-15000生态完善,稳定性高
腾讯云A10/A1004500-14000价格有竞争力
华为云A1005000-16000国产化支持
AutoDLRTX 4090/A100按需计费灵活,适合中小团队

[!WARNING] 自建GPU云服务器的成本较高,适合有稳定需求和一定技术能力的团队。如果只是个人使用或小团队试用,建议先使用AutoDL等GPU云平台。

3.2 基础环境配置

# 1. 更新系统
sudo apt update && sudo apt upgrade -y

# 2. 安装NVIDIA驱动
sudo apt install -y nvidia-driver-535
sudo reboot

# 3. 验证GPU
nvidia-smi

# 4. 安装Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 重新登录

# 5. 安装NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
    sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

# 6. 验证Docker GPU支持
docker run --rm --gpus all nvidia/cuda:12.1-base nvidia-smi

3.3 Docker部署ComfyUI

方法一:使用官方Docker镜像

# 拉取镜像
docker pull ghcr.io/ai-dock/comfyui:latest

# 创建数据目录
mkdir -p /data/comfyui/{models,output,input,custom_nodes}

# 运行容器
docker run -d \
    --name comfyui \
    --gpus all \
    --restart unless-stopped \
    -p 8188:8188 \
    -v /data/comfyui/models:/app/ComfyUI/models \
    -v /data/comfyui/output:/app/ComfyUI/output \
    -v /data/comfyui/input:/app/ComfyUI/input \
    -v /data/comfyui/custom_nodes:/app/ComfyUI/custom_nodes \
    ghcr.io/ai-dock/comfyui:latest

# 查看日志
docker logs -f comfyui

方法二:使用Docker Compose(推荐)

# docker-compose.yml
version: '3.8'

services:
  comfyui:
    image: ghcr.io/ai-dock/comfyui:latest
    container_name: comfyui
    restart: unless-stopped
    ports:
      - "8188:8188"
    volumes:
      - ./data/models/checkpoints:/app/ComfyUI/models/checkpoints
      - ./data/models/loras:/app/ComfyUI/models/loras
      - ./data/models/controlnet:/app/ComfyUI/models/controlnet
      - ./data/models/ipadapter:/app/ComfyUI/models/ipadapter
      - ./data/models/vae:/app/ComfyUI/models/vae
      - ./data/models/clip_vision:/app/ComfyUI/models/clip_vision
      - ./data/output:/app/ComfyUI/output
      - ./data/input:/app/ComfyUI/input
      - ./data/custom_nodes:/app/ComfyUI/custom_nodes
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    environment:
      - CLI_ARGS=--listen 0.0.0.0
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8188"]
      interval: 30s
      timeout: 10s
      retries: 3
# 启动
docker-compose up -d

# 查看状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 停止
docker-compose down

# 更新
docker-compose pull
docker-compose up -d

方法三:自定义Dockerfile

# Dockerfile
FROM nvidia/cuda:12.1-runtime-ubuntu22.04

# 安装Python和基础依赖
RUN apt update && apt install -y \
    python3.10 python3-pip python3-venv \
    git wget curl \
    libgl1 libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# 创建用户
RUN useradd -m -u 1000 comfyui
USER comfyui
WORKDIR /home/comfyui

# 克隆ComfyUI
RUN git clone https://github.com/comfyanonymous/ComfyUI.git

# 安装Python依赖
RUN cd ComfyUI && \
    python3.10 -m venv venv && \
    source venv/bin/activate && \
    pip install --no-cache-dir torch torchvision torchaudio \
        --index-url https://download.pytorch.org/whl/cu121 && \
    pip install --no-cache-dir -r requirements.txt

# 安装ComfyUI-Manager
RUN cd ComfyUI/custom_nodes && \
    git clone https://github.com/ltdrdata/ComfyUI-Manager.git

# 创建模型目录
RUN mkdir -p ComfyUI/models/{checkpoints,loras,controlnet,ipadapter,vae}

# 暴露端口
EXPOSE 8188

# 启动命令
CMD ["sh", "-c", "cd /home/comfyui/ComfyUI && \
     source venv/bin/activate && \
     python main.py --listen 0.0.0.0 --port 8188"]
# 构建镜像
docker build -t my-comfyui:latest .

# 运行
docker run -d --gpus all -p 8188:8188 \
    -v /data/comfyui/models:/home/comfyui/ComfyUI/models \
    -v /data/comfyui/output:/home/comfyui/ComfyUI/output \
    my-comfyui:latest

四、远程访问配置

4.1 安全访问方案

方案一:SSH隧道(最安全)

# 在本地电脑上执行
# 将远程的8188端口映射到本地8188端口
ssh -L 8188:localhost:8188 user@your_server_ip

# 然后在本地浏览器打开
# http://localhost:8188

方案二:Nginx反向代理 + HTTPS

# /etc/nginx/sites-available/comfyui
server {
    listen 80;
    server_name your_domain.com;

    # 重定向到HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name your_domain.com;

    ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem;

    # 基础认证
    auth_basic "ComfyUI Access";
    auth_basic_user_file /etc/nginx/.htpasswd;

    location / {
        proxy_pass http://127.0.0.1:8188;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 86400;
        client_max_body_size 500M;
    }

    # WebSocket支持
    location /ws {
        proxy_pass http://127.0.0.1:8188/ws;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
# 安装Nginx和Certbot
sudo apt install -y nginx certbot python3-certbot-nginx

# 创建密码文件
sudo apt install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd your_username

# 启用配置
sudo ln -s /etc/nginx/sites-available/comfyui /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

# 获取SSL证书
sudo certbot --nginx -d your_domain.com

方案三:Cloudflare Tunnel(无需公网IP)

# 安装Cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/

# 登录Cloudflare
cloudflared tunnel login

# 创建隧道
cloudflared tunnel create comfyui

# 配置隧道
cat > ~/.cloudflared/config.yml << EOF
tunnel: your-tunnel-id
credentials-file: /root/.cloudflared/your-tunnel-id.json

ingress:
  - hostname: comfyui.your_domain.com
    service: http://localhost:8188
  - service: http_status:404
EOF

# 启动隧道
cloudflared tunnel run comfyui

# 或作为系统服务运行
sudo cloudflared service install
sudo systemctl start cloudflared

4.2 访问控制

# 防火墙配置
sudo ufw allow 22/tcp      # SSH
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS
sudo ufw enable

# 限制SSH访问
sudo ufw limit 22/tcp

# 仅允许特定IP访问ComfyUI
# 在Nginx配置中添加:
# allow 1.2.3.4;  # 你的IP
# deny all;

五、数据管理

5.1 模型文件管理

# 使用Rclone同步模型到云存储
# 安装Rclone
curl https://rclone.org/install.sh | sudo bash

# 配置云存储(以阿里云OSS为例)
rclone config
# 按提示配置OSS

# 同步模型到OSS
rclone sync /data/comfyui/models oss:my-bucket/comfyui-models

# 从OSS恢复模型
rclone sync oss:my-bucket/comfyui-models /data/comfyui/models

# 定时同步(crontab)
# 每天凌晨3点同步
0 3 * * * rclone sync /data/comfyui/models oss:my-bucket/comfyui-models >> /var/log/rclone.log 2>&1

5.2 自动备份脚本

#!/bin/bash
# backup_comfyui.sh - ComfyUI自动备份脚本

BACKUP_DIR="/data/backups"
DATE=$(date +%Y%m%d_%H%M%S)
KEEP_DAYS=7

# 创建备份
echo "开始备份..."
tar -czf "${BACKUP_DIR}/comfyui_${DATE}.tar.gz" \
    --exclude='*.safetensors' \
    /data/comfyui/custom_nodes \
    /data/comfyui/output

# 清理旧备份
echo "清理${KEEP_DAYS}天前的备份..."
find ${BACKUP_DIR} -name "comfyui_*.tar.gz" -mtime +${KEEP_DAYS} -delete

# 同步到云存储
echo "同步到云存储..."
rclone sync ${BACKUP_DIR} oss:my-bucket/comfyui-backups

echo "备份完成: comfyui_${DATE}.tar.gz"
# 设置定时备份
chmod +x backup_comfyui.sh
crontab -e
# 添加:每天凌晨2点执行备份
0 2 * * * /path/to/backup_comfyui.sh >> /var/log/comfyui_backup.log 2>&1

六、性能优化

6.1 GPU优化

# 设置GPU持久化模式(减少启动延迟)
sudo nvidia-smi -pm 1

# 设置GPU性能模式
sudo nvidia-smi -pl 450  # 设置功耗限制(瓦特)

# 监控GPU使用情况
watch -n 1 nvidia-smi

# 查看GPU详细信息
nvidia-smi -q

6.2 ComfyUI性能优化

# ComfyUI启动参数优化
# 在启动命令中添加以下参数:

# 低显存模式(6-8GB显存)
python main.py --lowvram --listen 0.0.0.0

# 中等显存模式(8-12GB显存)
python main.py --normalvram --listen 0.0.0.0

# 高显存模式(12GB+显存)
python main.py --highvram --listen 0.0.0.0

# 启用xFormers加速
python main.py --use-pytorch-cross-attention --listen 0.0.0.0

# 设置自动队列大小
python main.py --auto-launch --listen 0.0.0.0

6.3 系统级优化

# 增加共享内存(Docker需要)
# 编辑 /etc/fstab,添加:
tmpfs /dev/shm tmpfs defaults,size=16G 0 0

# 重新挂载
sudo mount -o remount /dev/shm

# 优化文件系统
# 使用XFS文件系统(适合大文件)
sudo mkfs.xfs /dev/sdb
sudo mount /dev/sdb /data

# 调整swappiness(减少swap使用)
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

七、监控与告警

7.1 系统监控

# 安装监控工具
sudo apt install -y htop iotop nethogs

# GPU监控
pip install nvitop
nvitop

# 简单的资源监控脚本
cat > monitor.sh << 'EOF'
#!/bin/bash
while true; do
    clear
    echo "=== 系统资源监控 ==="
    echo "时间: $(date)"
    echo ""
    echo "--- CPU/内存 ---"
    top -bn1 | head -5
    echo ""
    echo "--- GPU ---"
    nvidia-smi --query-gpu=name,temperature.gpu,utilization.gpu,memory.used,memory.total --format=csv
    echo ""
    echo "--- 磁盘 ---"
    df -h /data
    echo ""
    sleep 5
done
EOF
chmod +x monitor.sh

7.2 Docker容器监控

# 查看容器资源使用
docker stats

# 查看容器日志
docker logs --tail 100 -f comfyui

# 容器健康检查
docker inspect --format='{{.State.Health.Status}}' comfyui

7.3 自动重启策略

# docker-compose.yml 中的重启策略
services:
  comfyui:
    restart: unless-stopped  # 除非手动停止,否则总是重启
    # 其他选项:
    # no: 不自动重启
    # always: 总是重启
    # on-failure: 仅在失败时重启
# systemd服务(非Docker部署)
cat > /etc/systemd/system/comfyui.service << EOF
[Unit]
Description=ComfyUI Service
After=network.target

[Service]
Type=simple
User=comfyui
WorkingDirectory=/home/comfyui/ComfyUI
ExecStart=/home/comfyui/ComfyUI/venv/bin/python main.py --listen 0.0.0.0 --port 8188
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable comfyui
sudo systemctl start comfyui
sudo systemctl status comfyui

八、成本优化

8.1 按需开关策略

# 非Docker环境的开关机脚本
#!/bin/bash

# start_comfyui.sh
source /home/comfyui/ComfyUI/venv/bin/activate
cd /home/comfyui/ComfyUI
nohup python main.py --listen 0.0.0.0 --port 8188 > /var/log/comfyui.log 2>&1 &
echo $! > /var/run/comfyui.pid
echo "ComfyUI已启动, PID: $(cat /var/run/comfyui.pid)"

# stop_comfyui.sh
if [ -f /var/run/comfyui.pid ]; then
    kill $(cat /var/run/comfyui.pid)
    rm /var/run/comfyui.pid
    echo "ComfyUI已停止"
fi

8.2 成本估算

配置月费用适用场景
AutoDL RTX 4090 按需300-600元偶尔使用
AutoDL RTX 4090 包月1000-1400元日常使用
自建A100服务器5000-8000元专业团队
RunPod A100 按需2000-4000元海外用户

九、总结

部署方案选择建议

需求推荐方案
个人学习/试用AutoDL一键部署
小团队协作Docker + 云服务器
专业生产环境Docker Compose + Nginx + 监控
大规模生产Kubernetes集群

部署检查清单

  • GPU驱动和CUDA正确安装
  • Docker和NVIDIA Container Toolkit配置
  • ComfyUI容器正常运行
  • 模型文件正确挂载
  • 远程访问配置(HTTPS + 认证)
  • 防火墙规则设置
  • 自动备份策略
  • 监控和告警配置
  • 日志管理
  • 成本优化策略

[!TIP] 云端部署的最终目标是"部署一次,稳定运行"。花时间做好初始配置(安全、备份、监控),可以避免后期大量的运维问题。建议使用Docker部署,它提供了环境隔离和快速恢复的能力。对于AI漫剧团队来说,稳定的云端环境比追求极致性能更重要。

相关教程