• 首页 > 
  • AI技术 > 
  • 如何在Linux上实现Stable Diffusion的高效部署

如何在Linux上实现Stable Diffusion的高效部署

AI技术
小华
2025-10-04

如何在Linux上实现Stable Diffusion的高效部署

一、基础环境准备

1. 硬件要求

  • GPU:优先选择NVIDIA显卡(支持CUDA加速),显存≥8GB(推荐RTX 3060及以上,A100 40GB适合多模型并行);
  • CPU:≥4核(Intel i5/i7或AMD Ryzen 5/7系列,避免成为瓶颈);
  • 内存:≥16GB(推荐32GB,处理高分辨率图像时更流畅);
  • 存储:≥100GB SSD(系统盘)+500GB高性能云盘(存储模型文件,如v1-5-pruned-emaonly.safetensors约5GB,Lora模型约1-2GB)。

2. 软件环境

  • 操作系统:推荐Ubuntu 22.04 LTS(兼容性最佳,驱动支持完善);
  • Docker(可选但推荐):简化部署流程,实现环境隔离(避免依赖冲突);
  • NVIDIA驱动与CUDA
  • 安装驱动:通过ubuntu-drivers devices查询推荐版本(如535),执行sudo apt install nvidia-driver-535
  • 安装CUDA:添加NVIDIA仓库(wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb),执行sudo apt install cuda-12-2
  • 验证:nvidia-smi查看驱动版本,nvcc -V确认CUDA编译器安装。

二、核心部署方式(Docker vs 手动安装)

1. Docker快速部署(新手首选)

  • 拉取镜像:选择预装插件的镜像(如lshqqytiger/stable-diffusion-webui,包含ControlNet、PromptGen等常用插件),执行docker pull lshqqytiger/stable-diffusion-webui
  • 运行容器:通过--gpus all启用GPU加速,挂载模型目录(实现热更新,无需重建容器),命令示例:
docker run -d \
--gpus all \
-p 7860:7860 \
-v ~/sd-models:/app/models \  # 本地模型目录挂载到容器
-v ~/sd-outputs:/outputs \    # 输出目录(存储生成的图像)
lshqqytiger/stable-diffusion-webui
  • 访问服务:浏览器输入http://localhost:7860,进入WebUI即可开始生成图像。

2. 手动安装(高级用户,自定义需求)

  • 创建虚拟环境:避免依赖冲突,执行python3 -m venv sd_venv,激活环境source sd_venv/bin/activate
  • 安装PyTorch:通过PyTorch官网获取CUDA版本对应的安装命令(如CUDA 12.2):
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
  • 克隆WebUI仓库git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git,进入目录执行./webui.sh
  • 启动服务:脚本会自动下载模型(首次运行需等待)、安装依赖,完成后通过http://localhost:7860访问。

三、性能优化技巧

  • 启用显存优化
  • webui-user.sh(手动安装)或Docker的COMMANDLINE_ARGS中添加--xformers(降低显存占用30%,提升推理速度);
  • 使用--medvram(中等显存模式,适合8GB显卡)或--lowvram(低显存模式,适合4GB显卡);
  • 模型管理
  • 下载精简模型(如v1-5-pruned-emaonly.safetensors,比完整版小30%);
  • 将模型放在SSD中(减少加载时间);
  • 系统调优
  • 设置PYTORCH_CUDA_ALLOC_CONF=backend:cudaMallocAsync(减少显存碎片,提升多任务处理能力);
  • 使用--listen参数允许远程访问(如./webui.sh --listen)。

四、常见问题排查

  • 权限问题:Docker运行时添加--security-opt seccomp=unconfined参数,解决容器内无法写入文件的错误;
  • GPU无法使用
  • 确认驱动安装正确(nvidia-smi显示驱动版本);
  • 检查PyTorch是否安装CUDA版本(torch.cuda.is_available()返回True);
  • 添加--skip-torch-cuda-test参数跳过CUDA测试(部分旧显卡兼容性问题);
  • 模型加载失败
  • 检查模型文件SHA256校验值(与官方一致);
  • 手动下载模型并放置在~/sd-models/Stable-diffusion目录。

五、安全与管理

  • 访问控制:通过-e ACCESS_TOKEN=your_password设置访问密码(防止未授权使用);
  • 服务稳定性:使用--restart unless-stopped参数(Docker)或systemctl enable sd-service(手动安装),确保服务重启后自动恢复;
  • 资源清理:定期执行docker system prune清理无用镜像、容器,释放磁盘空间。
亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序