海外服务器脚本一键部署 Comfyui + Flux.1devfp16 + 放大模型 home 编辑时间 2025/06/29  > 适用于云服务器手动部署ComfyUI + FLUX.1-dev(fp16版本) ## 前言 这篇笔记适用于国内购买的海外GPU云主机 一键快速部署comfyui + flux 我是基于腾讯云 高性能应用服务器 32G显存版本 新加坡地区 本文前半段是介绍如何手动安装的 如果你希望一键自动安装 跳到结尾 **一键安装脚本(可选)** 保存脚本 赋权 执行 就可以全自动安装了 ## 📋 系统要求 - **操作系统**: Ubuntu 20.04+ / 22.04 LTS - **GPU**: NVIDIA GPU 至少24GB显存 - **内存**: 32GB+ 推荐 - **存储**: 100GB+ 可用空间 - **网络**: 能访问GitHub和HuggingFace ## 🚀 手动安装步骤 如果你更喜欢手动部署 可以参考本章节流程按需部署 如果你更喜欢一键自动部署 翻到本文末尾有一键部署脚本 ### 第1步:配置Swap空间 ```bash # 创建16GB Swap文件 sudo fallocate -l 16G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 设置开机自动挂载 echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 优化Swap使用策略 sudo sysctl vm.swappiness=10 echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf # 验证配置 free -h && swapon --show ``` ### 第2步:安装Python 3.10环境 ```bash # 添加Python源 sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update # 安装Python 3.10和依赖 sudo apt install -y python3.10 python3.10-venv python3.10-dev git wget curl build-essential ``` ### 第3步:创建ComfyUI环境 ```bash # 创建工作目录 mkdir -p ~/comfyui && cd ~/comfyui # 创建虚拟环境 python3.10 -m venv venv # 激活虚拟环境 source venv/bin/activate # 克隆ComfyUI git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI ``` ### 第4步:安装依赖 ```bash # 更新pip pip install --upgrade pip # 安装PyTorch(CUDA 11.8版本) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装ComfyUI依赖 pip install -r requirements.txt pip install huggingface_hub # 创建模型目录 mkdir -p models/unet models/vae models/clip models/upscale_models ``` ### 第5步:下载模型文件 **千万要注意:HF_TOKEN="请替换为你的token" 你要把这里替换称你的TOKEN,没有的话去huggingface注册** ```bash # 设置HuggingFace Token(替换为你的 没有去官网注册一个) export HF_TOKEN="替换为你的TOKEN" # 下载FLUX主模型 python -c " from huggingface_hub import login, hf_hub_download login(token='$HF_TOKEN') hf_hub_download( repo_id='black-forest-labs/FLUX.1-dev', filename='flux1-dev.safetensors', local_dir='models/unet' ) " # 下载VAE模型 python -c " from huggingface_hub import hf_hub_download hf_hub_download( repo_id='black-forest-labs/FLUX.1-dev', filename='ae.safetensors', local_dir='models/vae' ) " # 下载文本编码器 python -c " from huggingface_hub import hf_hub_download hf_hub_download( repo_id='comfyanonymous/flux_text_encoders', filename='clip_l.safetensors', local_dir='models/clip' ) hf_hub_download( repo_id='comfyanonymous/flux_text_encoders', filename='t5xxl_fp16.safetensors', local_dir='models/clip' ) " # 下载放大模型 cd models/upscale_models/ wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth cd ../.. ``` ### 第6步:创建系统服务 ```bash # 创建服务文件 sudo tee /etc/systemd/system/comfyui.service > /dev/null << 'EOF' [Unit] Description=ComfyUI Service After=network.target [Service] Type=simple User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/comfyui/ComfyUI Environment=PATH=/home/ubuntu/comfyui/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ExecStart=/home/ubuntu/comfyui/venv/bin/python main.py --listen 0.0.0.0 --port 8188 Restart=always RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF # 重载服务配置 sudo systemctl daemon-reload # 启用开机自启 sudo systemctl enable comfyui ``` ### 第7步:启动服务 ```bash # 启动ComfyUI服务 sudo systemctl start comfyui # 检查服务状态 sudo systemctl status comfyui # 查看日志 journalctl -u comfyui -f ``` ### 第8步:访问Web界面 - 浏览器访问:`http://your-server-ip:8188` - 开始生成图片 ## 🛠️ 常用管理命令 ```bash # 服务管理 sudo systemctl start comfyui # 启动 sudo systemctl stop comfyui # 停止 sudo systemctl restart comfyui # 重启 sudo systemctl status comfyui # 状态 # 查看日志 journalctl -u comfyui -f # 手动启动(调试) cd ~/comfyui/ComfyUI && source ../venv/bin/activate && python main.py --listen 0.0.0.0 --port 8188 # 性能监控 watch -n 1 nvidia-smi # GPU监控 free -h && swapon --show # 内存监控 ``` --- ## 📄 一键安装脚本(可选) **千万要注意:HF_TOKEN="请替换为你的token" 你要把这里替换称你的TOKEN,没有的话去huggingface注册** 将以下完整脚本内容保存为 `setup_comfyui_flux.sh`,然后执行: ```bash chmod +x setup_comfyui_flux.sh ./setup_comfyui_flux.sh ``` **完整脚本内容:** ```bash #!/bin/bash set -e # 遇到错误就停止 echo "========== 开始部署 ComfyUI FLUX (fp16版本) ==========" # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 第一步:配置Swap log_info "配置16G Swap空间..." sudo fallocate -l 16G /swapfile sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 检查swap free -h && swapon --show # 优化swap使用策略 sudo sysctl vm.swappiness=10 echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf log_info "Swap配置完成!" # 第二步:安装Python环境 log_info "安装Python 3.10环境..." sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update && sudo apt install -y python3.10 python3.10-venv python3.10-dev git wget curl build-essential log_info "Python环境安装完成!" # 第三步:创建ComfyUI环境 log_info "创建ComfyUI工作环境..." mkdir -p ~/comfyui && cd ~/comfyui # 创建虚拟环境 python3.10 -m venv venv # 激活虚拟环境并安装依赖 source venv/bin/activate log_info "克隆ComfyUI仓库..." git clone https://github.com/comfyanonymous/ComfyUI.git && cd ComfyUI log_info "安装PyTorch和依赖..." pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install -r requirements.txt pip install huggingface_hub log_info "创建模型目录..." mkdir -p models/unet models/vae models/clip # 第四步:下载模型 log_info "开始下载FLUX fp16模型..." # 设置HuggingFace token(请替换为你的token) HF_TOKEN="请替换为你的token" # 下载FLUX主模型(fp16版本) log_info "下载FLUX.1-dev主模型(fp16)..." python -c " from huggingface_hub import login, hf_hub_download login(token='$HF_TOKEN') hf_hub_download( repo_id='black-forest-labs/FLUX.1-dev', filename='flux1-dev.safetensors', local_dir='models/unet' ) print('FLUX fp16主模型下载完成!') " # 下载VAE模型 log_info "下载VAE模型..." python -c " from huggingface_hub import hf_hub_download hf_hub_download( repo_id='black-forest-labs/FLUX.1-dev', filename='ae.safetensors', local_dir='models/vae' ) print('VAE模型下载完成!') " # 下载CLIP文本编码器(fp16版本) log_info "下载CLIP文本编码器(fp16)..." python -c " from huggingface_hub import hf_hub_download # 下载CLIP L模型 hf_hub_download( repo_id='comfyanonymous/flux_text_encoders', filename='clip_l.safetensors', local_dir='models/clip' ) # 下载T5 XXL模型(fp16版本) hf_hub_download( repo_id='comfyanonymous/flux_text_encoders', filename='t5xxl_fp16.safetensors', local_dir='models/clip' ) print('CLIP模型下载完成!') " # 第五步:创建工作流配置文件 log_info "创建FLUX工作流配置文件..." cat > flux_workflow.json << 'EOF' { "3": { "inputs": { "seed": 42, "steps": 20, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 1, "model": ["4", 0], "positive": ["6", 0], "negative": ["7", 0], "latent_image": ["5", 0] }, "class_type": "KSampler", "_meta": {"title": "KSampler"} }, "4": { "inputs": { "unet_name": "flux1-dev.safetensors" }, "class_type": "UNETLoader", "_meta": {"title": "Load Diffusion Model"} }, "5": { "inputs": { "width": 1024, "height": 1024, "batch_size": 1 }, "class_type": "EmptyLatentImage", "_meta": {"title": "Empty Latent Image"} }, "6": { "inputs": { "text": "beautiful scenery nature glass bottle landscape, purple galaxy bottle", "clip": ["11", 0] }, "class_type": "CLIPTextEncode", "_meta": {"title": "CLIP Text Encode (Prompt)"} }, "7": { "inputs": { "text": "", "clip": ["11", 0] }, "class_type": "CLIPTextEncode", "_meta": {"title": "CLIP Text Encode (Negative)"} }, "8": { "inputs": { "samples": ["3", 0], "vae": ["10", 0] }, "class_type": "VAEDecode", "_meta": {"title": "VAE Decode"} }, "9": { "inputs": { "filename_prefix": "flux_output", "images": ["8", 0] }, "class_type": "SaveImage", "_meta": {"title": "Save Image"} }, "10": { "inputs": { "vae_name": "ae.safetensors" }, "class_type": "VAELoader", "_meta": {"title": "Load VAE"} }, "11": { "inputs": { "clip_name1": "clip_l.safetensors", "clip_name2": "t5xxl_fp16.safetensors", "type": "flux" }, "class_type": "DualCLIPLoader", "_meta": {"title": "DualCLIPLoader"} } } EOF # 第六步:下载放大模型 log_info "下载放大模型..." mkdir -p models/upscale_models cd models/upscale_models/ wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth cd ../.. # 第七步:设置系统服务 log_info "设置ComfyUI系统服务..." sudo tee /etc/systemd/system/comfyui.service > /dev/null << 'EOF' [Unit] Description=ComfyUI Service After=network.target [Service] Type=simple User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/comfyui/ComfyUI Environment=PATH=/home/ubuntu/comfyui/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ExecStart=/home/ubuntu/comfyui/venv/bin/python main.py --listen 0.0.0.0 --port 8188 Restart=always RestartSec=10 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF # 重载systemd配置 sudo systemctl daemon-reload # 启用自启动 sudo systemctl enable comfyui log_info "验证模型文件..." echo "=== 检查下载的模型文件 ===" ls -la models/unet/ ls -la models/vae/ ls -la models/clip/ ls -la models/upscale_models/ log_info "========== 部署完成! ==========" echo "" echo "现在你可以:" echo "1. 启动服务:sudo systemctl start comfyui" echo "2. 检查状态:sudo systemctl status comfyui" echo "3. 手动测试:cd ~/comfyui/ComfyUI && source ../venv/bin/activate && python main.py --listen 0.0.0.0 --port 8188" echo "4. 访问界面:http://你的服务器IP:8188" echo "" echo "日志查看:journalctl -u comfyui -f" ``` --- **⏱️ 安装时间**: 约30-60分钟 **🎯 适用场景**: 云服务器部署,生产环境使用 **💡 提示**: 确保服务器有足够显存和网络带宽 ## 注意 部署成功后,正确的远程访问地址应该是 http://你的服务器ip:8188 但直接访问可能超时失败 因为国内云主机厂商有一个防火墙需要配置 加8188端口的 允许所有IP访问 你在购买云主机的控制台里找找 有些叫防火墙 有些叫安全组 然后一般我记得是入方向 然后会看到 22 80 443 3306 等等已经有好几个端口是自动配好的 新增一个 0.0.0.0/0 TCP 8188 代表所有人可以访问你服务器的8188端口 启动即可 这样设置当然有安全问题,但是据我推测大部分小伙伴是只买3-7天左右的 等你被嗅探到8188端口的时候,服务器可能早就到期了 送人玫瑰,手留余香 赞赏 Wechat Pay Alipay Ubuntu 24.04 LTS 本地部署 ComfyUI + Flux + Nunchaku 完整安装指南