Ubuntu 22.04 如何从头部署 Stable Diffusion WebUI 环境

文章导读
Ubuntu 22.04 部署 Stable Diffusion WebUI 推荐使用系统自带的 Python 3.10 配合 NVIDIA 官方驱动。主要风险在于显卡驱动版本与 CUDA 工具包不匹配导致无法调用 GPU。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

Ubuntu 22.04 部署 Stable Diffusion WebUI 推荐使用系统自带的 Python 3.10 配合 NVIDIA 官方驱动。主要风险在于显卡驱动版本与 CUDA 工具包不匹配导致无法调用 GPU。

先说结论:环境依赖明确,重点在驱动和 Python 版本匹配,无需额外复杂配置即可启动。

  • 适合:拥有 NVIDIA 显卡且显存大于 4GB 的 Ubuntu 22.04 用户
  • 先准备:预留 10GB 以上磁盘空间用于存放模型和依赖
  • 验收:浏览器访问 localhost:7860 且生成图片不报错

命令速用版

以下命令适用于已安装 NVIDIA 驱动的基础环境,直接复制执行可完成核心部署。

sudo apt update && sudo apt install -y git python3 python3-venv libgl1 libglib2.0-0
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
./webui.sh

为什么会这样

Stable Diffusion WebUI 依赖 PyTorch 调用 CUDA 加速,Ubuntu 22.04 默认源可能缺少特定编译环境。

WebUI 启动脚本会自动创建虚拟环境并安装依赖,但前提是系统层面已正确安装显卡驱动和基础开发库。如果缺少 libgl1 等库,界面加载时会报缺少共享库错误。Python 版本超过 3.10 可能导致部分扩展插件兼容性下降,Ubuntu 22.04 默认 Python 3.10 正好匹配。

分步处理

按顺序执行以下步骤,每步完成后检查对应状态再进入下一步。

1. 安装显卡驱动

打开“软件和更新”选择“附加驱动”标签,选用 NVIDIA 官方专有驱动,或命令行执行:

sudo ubuntu-drivers autoinstall
sudo reboot

检查点:重启后终端输入 nvidia-smi 能看到显卡列表和驱动版本。

2. 安装系统依赖

WebUI 需要 git 和编译工具,同时补充图形库防止报错:

sudo apt install -y git python3 python3-venv libgl1 libglib2.0-0

检查点:输入 git `--version` 返回版本号即为成功。

3. 克隆项目代码

将仓库下载到用户目录,避免权限问题:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

检查点:ls 命令能看到 webui.sh 文件。

4. 启动服务

赋予执行权限并运行启动脚本,首次运行会自动下载模型:

chmod +x webui.sh
./webui.sh

风险边界:首次启动耗时较长,取决于网络下载速度,中途不要强制中断。

怎么验证是否生效

验证分为硬件调用验证和 Web 界面验证两部分,确保 GPU 介入且服务可用。

1. 硬件调用验证

Ubuntu 22.04 如何从头部署 Stable Diffusion WebUI 环境

在 WebUI 运行期间,新开终端窗口输入:

nvidia-smi

观察 processes 列表是否有 python 进程占用显存,若无占用则说明未启用 GPU 加速。

2. 界面访问验证

浏览器访问 http://127.0.0.1:7860,看到生成按钮且点击“生成”后日志无红色报错即为正常。

3. 日志检查

启动终端最后几行显示 Running on local URL: http://127.0.0.1:7860 表示服务监听成功。

常见坑

部署过程中容易遇到环境冲突和网络问题,以下场景需谨慎处理。

1. Python 版本过高

部分扩展插件不支持 Python 3.11+,Ubuntu 22.04 默认 3.10 无需调整,若手动升级了 Python 需降级回 3.10。

2. 显存不足报错

显存小于 4GB 可能无法运行 SD 1.5 模型,启动时可添加参数 `--medvram` 降低显存占用,但生成速度会变慢。

3. 模型下载失败

首次启动需下载基础模型,若网络超时会导致启动中断,可手动下载模型放入 models/Stable-diffusion 目录。

常见问题

启动时报 CUDA out of memory 怎么办

显存不足导致,启动命令增加 `--medvram` 或 `--lowvram` 参数。

该参数会牺牲部分生成速度换取低显存运行,适合显存小于 6GB 的显卡。

网页能打开但生成图片报错

通常是模型文件损坏或缺失,检查 models 目录下是否有.ckpt 或.safetensors 文件。

重新下载完整模型文件并确认 MD5 校验值一致可解决此问题。

如何更新 WebUI 到最新版本

在项目目录执行 git pull 即可拉取最新代码,重启服务生效。

更新前建议备份 config 配置文件,防止新版本配置项变更导致启动失败。

参考来源

  • GitHub - AUTOMATIC1111/stable-diffusion-webui: https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • Ubuntu 22.04 LTS Release Notes: https://ubuntu.com/download/desktop
  • NVIDIA CUDA Installation Guide for Linux: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html