Stable Diffusion WebUI 保姆级搭建教程:服务器配置要求与安装步骤详解

Stable Diffusion WebUI 保姆级搭建教程:服务器配置要求与安装步骤详解

Stable Diffusion 作为目前最热门的开源 AI 文本生成图像(Text-to-Image)模型之一,让无数人体验到了 AI 创作的魅力。而 AUTOMATIC1111 开发的 Stable Diffusion WebUI 则是一个功能极其丰富、社区生态活跃的图形化界面,让用户无需编写代码就能轻松使用 Stable Diffusion 生成各种图像,并进行图生图、模型训练、插件扩展等高级操作。

虽然有很多在线平台提供 Stable Diffusion 服务,但自建部署拥有诸多优势:完全控制数据隐私、不受使用次数或内容限制、可以自由加载和切换各种社区模型、以及更深入地学习和定制。本教程将作为一份“保姆级”指南,详细介绍在您自己的服务器(主要以 Ubuntu 系统为例)或本地计算机上搭建 Stable Diffusion WebUI 的硬件配置要求和一步步的安装过程。

硬件配置要求:你的服务器能跑 Stable Diffusion 吗?

运行 Stable Diffusion WebUI 对硬件有一定要求,尤其是显卡。

1. 显卡 (GPU): 核心动力

这是最重要的部分。虽然理论上可以在 CPU 上运行(非常慢),或者在 AMD 显卡上运行(配置相对复杂,性能通常不如 NVIDIA),但目前**强烈推荐使用 NVIDIA 显卡**,因为它能充分利用 CUDA 进行加速。

显存 (VRAM) 是关键中的关键:

  • 最低要求 (体验不佳): 至少 4GB VRAM。可能需要启用 --lowvram 模式,生成速度慢、分辨率低,且容易出现显存不足 (Out of Memory, OOM) 的错误。
  • 入门推荐 (流畅生成 512×512): 建议 6GB – 8GB VRAM。例如 NVIDIA GeForce RTX 3060 (12GB 版本更佳)、RTX 2070/2080、RTX 3070、RTX 4060/4060 Ti 等。
  • 主流推荐 (高清出图, 运行 SDXL): 建议 12GB – 16GB VRAM。例如 RTX 3080/3080 Ti、RTX 3090/3090 Ti、RTX 4070/4070 Ti/4080、专业卡 RTX A4000/A5000 等。这个级别的显存可以较好地运行 SDXL Base 模型或生成更高分辨率的图像。
  • 进阶推荐 (流畅运行 SDXL, 训练 LoRA/Dreambooth): 建议 24GB 或更多 VRAM。例如 RTX 3090/3090 Ti、RTX 4090 (24GB)、专业卡 RTX 6000 Ada (48GB) 或数据中心级的 A100/H100 (40GB/80GB+)。大显存对于训练任务和运行最新的大型模型至关重要。

您可以参考我们之前的文章《GPU服务器选购指南》来了解不同型号显卡的具体信息。

2. 内存 (RAM)

系统内存同样重要,用于模型加载、图像处理等。最低建议 8GB,但为了更流畅的体验,推荐 16GB 或 32GB 以上。如果您计划进行模型训练,则需要更多内存。

3. 存储 (硬盘空间)

Stable Diffusion WebUI 本身不大,但它依赖的 Python 环境、库以及各种模型文件会占用大量空间。

  • 基础模型 (Checkpoints): 每个模型文件 (.ckpt.safetensors 格式) 通常在 2GB 到 7GB 之间,SDXL 模型更大。
  • 其他文件: VAEs, LoRAs, Textual Inversions (Embeddings), Hypernetworks 等都会占用额外空间。
  • 推荐空间: 建议至少准备 50GB 的可用硬盘空间。如果您打算下载和尝试各种模型、LoRA 等,那么 100GB 到 500GB 甚至更多 会更从容。
  • 硬盘类型: 强烈推荐使用 **SSD (固态硬盘)**,特别是 **NVMe SSD**,它可以显著加快模型的加载速度,提升使用体验。

4. 操作系统与 CPU

  • 操作系统: Linux (推荐 Ubuntu 20.04 / 22.04 LTS), Windows 10 / 11。本教程将主要以 **Ubuntu 22.04** 为例。
  • CPU: 对 CPU 要求不高,主要负责一些辅助任务。近几年的多核 CPU 基本都能满足要求。

软件环境准备 (Ubuntu 22.04 示例)

在安装 WebUI 之前,需要确保一些基础软件已就绪。

1. 安装 Git

Git 用于从 GitHub 克隆 WebUI 的代码仓库,并方便后续更新。


sudo apt update && sudo apt install git -y

2. 安装 Python

WebUI 对 Python 版本有要求,请务必查看 AUTOMATIC1111 仓库 README 文件中推荐的 Python 版本(通常是 3.10.x 的某个版本)。

Ubuntu 22.04 通常默认安装了 Python 3.10。您可以通过以下命令检查:


python3 --version

如果版本不符或系统默认版本较低,建议使用 `pyenv` 等工具来安装和管理特定版本的 Python。同时,需要确保 `pip` (Python 包管理器) 和 `venv` (虚拟环境工具) 已安装:


sudo apt install python3-pip python3.10-venv -y

3. (可选但强烈推荐) 安装 NVIDIA 驱动和 CUDA 环境

虽然 WebUI 的启动脚本 (webui.sh) 会尝试自动安装所需的 PyTorch 和其他依赖(有时甚至包括 CUDA 的某些运行时库),但**强烈建议**您先按照我们上一篇教程《保姆级教程:Ubuntu上配置PyTorch/TensorFlow GPU环境(CUDA与cuDNN)》完整地安装好与您的 GPU 兼容的 NVIDIA 驱动程序和合适的 CUDA Toolkit 版本。

预先安装好这些基础环境可以避免很多潜在的兼容性问题和安装错误。确保执行 nvidia-smi 命令能够成功显示您的 GPU 信息。

4. 安装其他可能的依赖

根据系统情况和 WebUI 的需求,可能需要安装一些额外的库:


sudo apt install wget libgl1 libglib2.0-0 -y

安装 Stable Diffusion WebUI (AUTOMATIC1111)

环境准备就绪后,开始安装 WebUI 本身。

1. 克隆 WebUI 仓库

选择一个您想安装 WebUI 的目录,例如用户主目录下的 stable-diffusion-webui 文件夹。


# 进入你选择的目录,例如主目录
cd ~
# 克隆仓库
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

2. 下载 Stable Diffusion 模型文件 (Checkpoint)

WebUI 程序本身不包含用于生成图像的基础 AI 模型(称为 Checkpoint 或简称模型),您需要手动下载它们。

  • 下载来源:
    • Hugging Face: 官方和许多研究机构发布模型的首选平台。
    • Civitai: 最大的 Stable Diffusion 社区模型、LoRA、VAE 等资源分享站(内容需自行甄别)。
  • 推荐模型 (至少选一个):
    • Stable Diffusion v1.5: 经典模型,如 v1-5-pruned-emaonly.safetensors。资源占用相对较低,围绕它训练的 LoRA 等资源非常丰富。适合入门。
    • Stable Diffusion XL (SDXL): 最新一代官方模型,通常效果更好,原生支持更高分辨率。需要下载至少两个文件:Base 模型 (如 sd_xl_base_1.0.safetensors) 和 Refiner 模型 (如 sd_xl_refiner_1.0.safetensors)。对显存要求较高(推荐 12GB+)。
    • 社区微调模型: 如 Anything系列, ChilloutMix, DreamShaper 等,各有特色(动漫、写实等)。可以从 Civitai 下载。请注意模型的使用许可协议。
  • 放置位置: 将下载好的模型文件 (通常是 .ckpt.safetensors 格式) 放入 WebUI 安装目录下的 models/Stable-diffusion 文件夹内。 # 进入模型目录 cd ~/stable-diffusion-webui/models/Stable-diffusion/ # 使用 wget 或其他方式下载模型文件到此目录 # 例如下载 SD 1.5 模型: wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors

3. (可选) 下载 VAE 文件

VAE (Variational Autoencoder) 文件可以改善生成图像的色彩饱和度和细节锐度,减少灰蒙蒙或模糊的情况。有些 Checkpoint 模型自带 VAE,有些则推荐配合外置 VAE 使用效果更佳。

  • 常用的 VAE 如适用于 SD 1.5 的 vae-ft-mse-840000-ema-pruned.safetensors,以及适用于 SDXL 的 VAE。可以从 Hugging Face 或 Civitai 下载。
  • 放置位置: 将下载的 VAE 文件 (.pt, .ckpt.safetensors 格式) 放入 WebUI 目录下的 models/VAE 文件夹内。之后可以在 WebUI 的设置 (Settings -> Stable Diffusion -> SD VAE) 中选择要使用的 VAE。

4. 首次运行与自动安装依赖

回到 Stable Diffusion WebUI 的主安装目录:


cd ~/stable-diffusion-webui

执行启动脚本 webui.sh。首次运行时,脚本会自动检测环境,创建一个名为 venv 的 Python 虚拟环境,并下载安装所有必需的依赖库,如 PyTorch, transformers, Gradio 等。这个过程可能需要几分钟到几十分钟,取决于您的网络速度和服务器性能,请耐心等待。


./webui.sh

如果一切顺利,依赖安装完成后,WebUI 会启动,您会在终端看到类似以下的输出:


...
Python 3.10.12 (...)
Commit hash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Installing requirements for Web UI
... (大量安装信息) ...
Launching Web UI with arguments:
No module 'xformers'. Proceeding without it. # (可能会提示缺少 xformers,可后续安装)
Loading weights [xxxxxxxxxx] from /home/user/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors
Creating model from config: /home/user/stable-diffusion-webui/configs/v1-inference.yaml
Applying optimization: sdp-no-mem... done.
Model loaded in Xs (load weights from disk: Xs, create model: Xs, apply weights to model: Xs).
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`. # (公网链接通常不推荐直接使用)
Startup time: XX.Xs (...).

看到 Running on local URL: http://127.0.0.1:7860 表示启动成功。

5. 配置远程访问 (如果 WebUI 运行在服务器上)

默认情况下,WebUI 只监听本地回环地址 127.0.0.1,这意味着您只能在运行 WebUI 的那台机器上通过浏览器访问它。如果您是在服务器上安装的,希望通过您自己的电脑访问,需要修改启动参数。

  1. 编辑启动脚本用户配置文件 webui-user.sh: nano webui-user.sh
  2. 修改 `COMMANDLINE_ARGS`: 找到 #export COMMANDLINE_ARGS="" 这一行(可能默认是注释掉的),取消注释并添加参数。常用的参数有:
    • --listen: 允许局域网或公网 IP 访问。
    • --gradio-auth username:password: 设置访问密码(将 `username` 和 `password` 替换为您自己的),与 --listen 一起使用以策安全。
    • --share: 通过 Gradio 服务创建一个临时公网链接(有安全风险,不推荐长期使用)。
    • --lowvram--medvram: 适用于显存较低(如 4GB 或 6GB)的情况,会牺牲速度和部分功能。
    • --xformers: (需要额外安装 pip install xformers) 可能可以提升生成速度并降低显存消耗,但兼容性因卡而异。
    • --enable-insecure-extension-access: 如果您计划安装第三方扩展,可能需要添加此项。
    例如,允许局域网访问并设置密码: export COMMANDLINE_ARGS="--listen --gradio-auth your_username:your_secure_password"
  3. 保存文件 (Ctrl+X, 然后 Y, 然后 Enter)。
  4. 重新启动 WebUI: ./webui.sh
  5. 配置防火墙: 确保服务器的防火墙允许外部访问 WebUI 使用的端口(默认为 7860)。 # 如果使用 ufw sudo ufw allow 7860/tcp sudo ufw reload # 如果使用 firewalld # sudo firewall-cmd --add-port=7860/tcp --permanent # sudo firewall-cmd --reload

访问与使用 WebUI

  1. 在您的浏览器中输入地址:
    • 如果在本机运行,访问 http://127.0.0.1:7860
    • 如果在服务器运行并设置了 --listen,访问 http://服务器的IP地址:7860。(如果设置了密码,会要求输入用户名密码)。
  2. 界面简介:
    • 顶部左侧: Stable Diffusion checkpoint 下拉框,选择您要使用的基础模型。
    • 主要标签页: txt2img (文生图), img2img (图生图), Extras (图片放大、修复), Settings (设置) 等。
    • txt2img 主要区域:
      • Prompt (正向提示词): 输入您想生成图像的文字描述。
      • Negative Prompt (反向提示词): 输入您不希望出现在图像中的内容。
      • Sampling method (采样方法): 如 Euler a, DPM++ 2M Karras 等,影响出图风格和速度。
      • Sampling steps (采样步数): 迭代次数,通常 20-40 步。
      • Width / Height (宽度/高度): 生成图像的分辨率。
      • CFG Scale (提示词相关性): 控制生成结果与提示词的符合程度,通常 5-10。
      • Seed (种子): 随机数种子,相同种子和参数可以复现结果,-1 表示随机。
      • Generate (生成) 按钮: 点击开始生成图像。
    • 右侧/下方: 显示生成的图像结果。
  3. 尝试生成: 在 Prompt 中输入 “a cute cat sitting on a table”,点击 “Generate” 按钮,等待片刻即可看到生成的图片。

更新 WebUI

AUTOMATIC1111 WebUI 更新非常快,建议定期更新以获取最新功能和性能优化。


# 进入 WebUI 安装目录
cd ~/stable-diffusion-webui
# 拉取最新代码
git pull

更新后,像平常一样运行 ./webui.sh 即可。有时更新后首次启动会重新下载或更新部分依赖。

Windows 用户简介

Windows 上的安装流程大同小异,通常更简单一些:

  1. 确保安装了 Python (推荐 3.10.x,**安装时勾选 “Add Python to PATH”**)。
  2. 安装 Git for Windows
  3. 下载并安装最新的 NVIDIA 显卡驱动。
  4. 使用 `git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git` 克隆仓库。
  5. 将下载好的模型文件放入 stable-diffusion-webui\models\Stable-diffusion 目录。
  6. **双击运行 webui-user.bat 文件。** 首次运行会自动下载 PyTorch 等依赖并创建虚拟环境。
  7. 需要修改启动参数时,右键编辑 webui-user.bat 文件,修改 set COMMANDLINE_ARGS= 这一行,例如添加 --listen, --xformers, --lowvram 等。

常见问题与排查

  • 依赖安装失败: 检查网络连接是否稳定;确认 Python 版本是否符合要求;是否缺少某些系统库 (查看终端报错信息);尝试删除 WebUI 目录下的 venv 文件夹后重新运行 webui.sh
  • 模型加载失败 / Checksum 错误: 确认模型文件已完整下载(对比文件大小),且放置在正确的 models/Stable-diffusion 目录下;尝试下载 .safetensors 格式的模型(通常更安全)。
  • 显存不足 (CUDA out of memory): 这是最常见的问题。尝试降低生成图像的分辨率;减小 Batch size (批处理数量,在设置里);启用 VRAM 优化参数如 --medvram--lowvram (编辑 webui-user.sh.bat 添加);关闭其他占用显存的程序;最终解决方案是升级到显存更大的 GPU。
  • 启动后无法访问 (Connection Refused): 确认启动时是否添加了 --listen 参数;检查服务器防火墙是否放行了 7860 端口;确认访问的 IP 地址是否正确。
  • 生成速度慢: 确认 GPU 驱动和 CUDA 环境正常 (执行 nvidia-smi);可以尝试安装 xformers 库 (pip install xformers) 并在启动参数中添加 --xformers;硬件性能是主要瓶颈。

总结

Stable Diffusion WebUI (AUTOMATIC1111) 为我们提供了一个功能强大且相对易于使用的界面来探索 AI 绘画的奇妙世界。通过本教程,您应该掌握了部署 WebUI 的基本流程:检查并满足硬件(特别是显存)要求、准备好软件环境(Python, Git, 驱动/CUDA)、克隆仓库、下载模型文件、运行启动脚本进行安装,以及如何配置远程访问和进行基本的问题排查。

搭建过程的关键在于细心和耐心,特别是处理环境依赖和模型文件。一旦成功运行,您就可以开始尽情挥洒创意,探索提示词工程、尝试各种社区模型和 LoRA、使用 ControlNet 精准控制图像生成等等。祝您玩得开心!

知识库软件分享

保姆级教程:在Ubuntu上为PyTorch/TensorFlow配置CUDA与cuDNN环境

2025-4-23 11:09:49

实操指南知识库

本地运行你的“ChatGPT”?私有化部署大语言模型(LLM)服务器成本与挑战深度探讨

2025-4-23 12:27:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧