搬瓦工 VPS 部署 Stable Diffusion AI 图像生成教程
Stable Diffusion 是当前最流行的开源 AI 图像生成模型,能够根据文字描述生成高质量的图像。虽然 Stable Diffusion 主要依赖 GPU 进行加速,但通过 CPU 推理和适当的优化,也可以在搬瓦工 VPS 上运行。本教程将介绍如何部署 AUTOMATIC1111 Stable Diffusion WebUI,这是 Stable Diffusion 最受欢迎的图形界面。
一、环境要求与注意事项
- 操作系统:Ubuntu 20.04 或更高版本。
- 内存:至少 8GB(推荐 16GB)。
- 磁盘:至少 30GB 可用空间(模型文件较大)。
- Python:Python 3.10。
重要提示:CPU 推理下生成一张 512x512 图像可能需要数分钟,适合学习和实验目的。如果需要频繁生成图像,建议使用带 GPU 的服务器。选购 VPS 请参考 全部方案。
二、安装系统依赖
apt update && apt upgrade -y
apt install git python3 python3-pip python3-venv wget curl libgl1 libglib2.0-0 -y
三、安装 AUTOMATIC1111 WebUI
cd /opt
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
3.1 配置 CPU 运行环境
创建虚拟环境并安装 CPU 版本的 PyTorch:
python3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
3.2 修改启动配置
编辑 webui-user.sh 以适配 CPU 环境:
cat > webui-user.sh <<'EOF'
#!/bin/bash
export COMMANDLINE_ARGS="--skip-torch-cuda-test --use-cpu all --no-half --listen --port 7860 --precision full"
export TORCH_COMMAND="pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu"
EOF
chmod +x webui-user.sh
四、下载模型
Stable Diffusion 需要预训练模型才能工作。将模型文件下载到 models/Stable-diffusion 目录:
cd /opt/stable-diffusion-webui/models/Stable-diffusion
# 下载 Stable Diffusion v1.5 模型(约 4GB)
wget -O v1-5-pruned-emaonly.safetensors \
"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors"
也可以从 Civitai 等社区下载其他风格模型。对于 CPU 推理,建议使用较小的模型以减少生成时间。
五、首次启动
cd /opt/stable-diffusion-webui
./webui.sh
首次启动会自动安装所有 Python 依赖,这个过程可能需要较长时间。安装完成后,WebUI 将在 http://your-ip:7860 上提供服务。
六、使用 Docker 部署
使用 Docker 可以简化安装过程(需先安装 Docker,参考 Docker 安装教程):
mkdir -p /opt/sd-docker && cd /opt/sd-docker
mkdir -p models outputs
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
stable-diffusion:
image: ghcr.io/automatic1111/stable-diffusion-webui:latest
ports:
- "7860:7860"
volumes:
- ./models:/app/models
- ./outputs:/app/outputs
environment:
- COMMANDLINE_ARGS=--skip-torch-cuda-test --use-cpu all --no-half --listen --precision full
restart: unless-stopped
EOF
docker compose up -d
七、WebUI 基本使用
访问 WebUI 后,主要功能区域包括:
- txt2img:文本生成图像,输入提示词后点击 Generate。
- img2img:图像转图像,上传参考图并添加提示词。
- Extras:图像后处理,包括放大和修复。
- Settings:全局设置,可以调整各种生成参数。
7.1 优化提示词
好的提示词是生成高质量图像的关键。建议遵循以下结构:主体描述 + 画风 + 质量标签 + 负面提示词。负面提示词(Negative prompt)用于排除不想要的元素。
八、API 调用
启动 WebUI 时添加 --api 参数可以启用 REST API:
# 在 COMMANDLINE_ARGS 中添加 --api
# 调用 API 生成图像
curl -X POST http://localhost:7860/sdapi/v1/txt2img \
-H "Content-Type: application/json" \
-d '{
"prompt": "a beautiful landscape, oil painting style",
"negative_prompt": "blurry, low quality",
"steps": 20,
"width": 512,
"height": 512,
"cfg_scale": 7
}'
九、CPU 推理优化
在 CPU 环境下,以下优化可以缩短生成时间:
- 降低分辨率:从 512x512 降至 384x384 或更低。
- 减少采样步数:将 Steps 从默认的 20 降至 10-15。
- 选择快速采样器:使用 Euler 或 DPM++ 2M 采样器。
- 使用轻量模型:Stable Diffusion Turbo 或 LCM 模型速度更快。
# 添加 OpenVINO 加速(Intel CPU 优化)
pip install openvino
# 在 Settings 中启用 OpenVINO 后端
十、配置 Systemd 服务
cat > /etc/systemd/system/sd-webui.service <<EOF
[Unit]
Description=Stable Diffusion WebUI
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/stable-diffusion-webui
ExecStart=/opt/stable-diffusion-webui/venv/bin/python launch.py --skip-torch-cuda-test --use-cpu all --no-half --listen --port 7860 --precision full --api
Restart=always
RestartSec=15
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable sd-webui
systemctl start sd-webui
十一、常见问题
内存不足
Stable Diffusion 对内存需求较高。添加 swap 空间可以缓解:
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
生成图像全黑或全白
这通常是因为没有使用 --no-half 和 --precision full 参数。在 CPU 模式下,必须使用完整精度。
总结
在搬瓦工 VPS 上部署 Stable Diffusion 可以体验 AI 绘画的魅力。虽然 CPU 推理速度有限,但作为学习和实验平台完全足够。如果你需要更灵活的图像生成工作流,可以参考 ComfyUI 节点编辑器。选购搬瓦工 VPS 请查看 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,购买链接:bwh81.net。