Stable Diffusion WebUI云部署

Stable Diffusion WebUI云部署

本地部署虽然方便,但对硬件要求高,尤其是显存。云服务器(特别是带有GPU的实例)可以让我们用较低成本体验强大的AI绘画能力,并且可以随时随地通过浏览器访问,非常方便。

一、 部署前的准备

1.1 选择合适的云服务器:

  • GPU型号: 优先选择NVIDIA显卡,如V100, T4, P4, 1080Ti, 2080Ti, 3090, 4090等。显存越大越好,至少8GB起步,推荐12GB以上。
  • 操作系统: Linux发行版(如Ubuntu 20.04 LTS, Debian 11, CentOS 7/8等)是首选,社区支持好,文档丰富。
  • 网络带宽: 部署初期需要下载大量模型和依赖,一个稳定的网络环境至关重要。

1.2 环境配置:

  • Python版本: 推荐使用Python 3.10.x(如3.10.6)。过高或过低的版本都可能与某些依赖库不兼容。
  • 虚拟环境: 务必使用venvconda创建独立的虚拟环境。这可以避免依赖冲突,方便管理,是部署的“黄金法则”。
  • Git配置: 确保Git已安装。如果在国内访问GitHub较慢,可以考虑配置镜像源,例如设置环境变量HF_ENDPOINT指向镜像站(如https://hf-mirror.com),这能极大加速模型下载。

我这里选择的是Ubuntu + RTX3090,显存24G,网络带宽600多MB/s,python3.10.6 + minconda。

二、项目部署

2.1 获取项目代码

克隆仓库:

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

若网络问题,也可以手动现在zip压缩包,再上传,代码结构大概是这样:

其中webui.sh是启动项目的脚本文件,launch.py是程序启动起点文件,启动时会按照modules/launch_utils.py文件的流程配置环境。

2.2 性能优化

启动前,安装 libgoogle-perftools4 和 libtcmalloc-minimal4 库,可以优化程序性能。

sudo apt-get install libgoogle-perftools4 libtcmalloc-minimal4 -y 

2.3 启动项目

HF_ENDPOINT=https://hf-mirror.com ./webui.sh --port 7860 --listen --enable-insecure-extension-access --xformers

(1)HF_ENDPOINT=https://hf-mirror.com

  • 是设置中文镜像,等同于先用export HF_ENDPOINT=https://hf-mirror.com 配置环境变量再启动。
  • 作用是将所有从 Hugging Face(huggingface.co)下载模型、配置文件等的请求,重定向到镜像站 hf-mirror.com,对国内用户非常有用,可解决 Hugging Face 官网访问慢或无法下载的问题。

(2)--port 7860

指定 WebUI 监听的端口号,项目的默认监听端口是7860,但也可以改成其他端口(如 8080

(3)--listen

  • 作用:让 WebUI 服务器监听 所有网络接口(而不仅仅是 127.0.0.1)。
  • 默认情况下,WebUI 只允许本地访问(即只能在本机浏览器打开)。
  • 加上 --listen 后,局域网内其他设备(甚至公网,如果你有暴露端口)也能访问WebUI。

(4)--enable-insecure-extension-access

  • 作用:允许扩展(extensions)访问本地文件系统或执行不安全操作。
  • 一些社区扩展(如模型管理器、LoRA 加载器、自定义脚本)需要更高权限才能正常运行。
  • 默认出于安全考虑是 禁用 的;启用后可能带来安全风险(比如恶意扩展读取或删除文件)。
  • 仅在信任所安装的扩展时才建议启用。

(5)--xformers

  • 作用:启用 xFormers 优化。
  • xFormers 是一组用于加速 Transformer 模型(如 Stable Diffusion)的高效注意力操作实现。
  • 启用后通常可以:
    • 降低显存占用
    • 提升生成速度(尤其在生成高分辨率图像时)
  • 要求系统已正确安装 xformers 包(通常 webui.sh 会自动尝试安装)。
  • 仅支持 NVIDIA GPU(CUDA),不适用于 AMD 或 CPU 推理。

2.4 部署说明

(1)项目启动后,项目目录中会多出一个stable-diffusion-webui目录,这个是存放环境依赖的目录,与项目本身的目录有区别,虽然名字差不多。

(2)使用conda不用venv创建虚拟环境,将weiui.sh文件中的use_venv变量值从1改为0

三、避坑指南

部署过程中会遇到很多坑:

3.1 网络问题,配置环境失败

这种情况,要么检查自己云主机能否联网、带宽够不够用,或者需要下载的的包是否是外网需要代理,实在不行也可以离线安装。

3.2 磁盘空间不够

有的包占用空间太大,磁盘不够用,可以考虑扩充磁盘空间。

3.3 用户权限问题

webui.sh文件中默认设置不可使用root用户启动项目,这个是为了安全考虑,可以创建一个新用户来启动项目。个人使用的话,最直接的解决方案就是,把1处的can_run_as_root=0改成1,或者注释2处的“Do not run as root”这块的脚本

3.4 依赖CLIP 包和pytoch安装失败

对于CLIP 包和pytoch安装失败的问题,可能是github下载时网络太慢,可以添加代理,在modules/launch_utils.py中的所有https://github.com/xxx.git 前面加 https://mirror.ghproxy.com/

若还是不行,可以考虑离线安装。

3.5 依赖stablediffusion安装失败

对于fatal: repository 'https://github.com/Stability-AI/stablediffusion.git/' not found的问题,Stability-AI/stablediffusion项目地址在github上不存在了。

(1)可以modules/lunch_utils.py文件中,将将https://github.com/Stability-AI/stablediffusion.git替换成https://github.com/CompVis/stable-diffusion.git,或者是https://github.com/w-e-w/stablediffusion.git,官方给的是后者。

(2)若仍然有问题,可以尝试在 stable-diffusion-webui/repositories 目录下手动克隆CompVis/stable-diffusion仓库:

git clone --config core.filemode=false https://github.com/CompVis/stable-diffusion.git ./stable-diffusion-webui/repositories/stable-diffusion-stability-ai
--config core.filemode=false 是 Git 克隆(git clone)命令中的一个配置选项,在 Unix/Linux 系统中,文件具有执行权限、读写权限等文件模式(file mode)。默认情况下,Git 会跟踪这些文件权限的变化(尤其是可执行位 x)。core.filemode=true(默认在 Linux/macOS 上):Git 会检测并记录文件可执行权限的变化。core.filemode=false:Git 忽略文件权限变化,只关注文件内容。

    同理,对于generative-models下载报错,也同样可以手动下载

    git clone --config core.filemode=false https://github.com/Stability-AI/generative-models.git repositories/generative-models

    3.6 Git 访问认证

    从 https://github.com 克隆 stable-diffusion-stability-ai 仓库时,需要Git 访问认证,登录的是github的用户名,但是密码要用秘钥而不是账号密码。

    使用个人访问令牌 (Personal Access Token, PAT) 生成 Personal Access Token (PAT):登录你的 GitHub 账户 (Kysen121)。访问 GitHub 设置页面 (Settings) -> 开发者设置 (Developer settings) -> 个人访问令牌 (Personal access tokens) -> 令牌 (Tokens) (classic) 或 (Fine-grained tokens)。点击 "Generate new token" (生成新令牌)。为令牌设置一个名称 (Note) 和过期时间。关键步骤: 为令牌分配必要的权限 (Scopes/Permissions)。对于克隆 公共 仓库,通常 public_repo 权限就足够了。如果 Stability-AI/stablediffusion 仓库是私有的(根据你提供的信息,它现在是公开的),你需要确保令牌具有访问该私有仓库的权限(例如 repo 权限)。生成令牌后,务必立即复制 它。一旦离开该页面,你将无法再次看到完整的令牌字符串。使用 PAT 进行克隆:当 Git 再次提示输入 Password 时,不要输入你的 GitHub 密码,而是粘贴你刚刚生成的 Personal Access Token

    若还有权限问题,可以使用 ‘3.4 依赖安装失败’ 中的的启动指令加 --skip-prepare-environment 的方式解决。

    3.7 NumPy 版本兼容性问题

    错误信息: A module that was compiled using NumPy 1.x cannot be run in NumPy 2.2.6

    原因: 安装的 PyTorch 等包是基于 NumPy 1.x 编译的,但当前环境使用 NumPy 2.x

    解决方案:

    # 降级 NumPy 到 1.x 版本 pip install "numpy<2" 

    3.8 缺失依赖包pytorch_lightning、gradio

    项目 缺失 pytorch_lightning 和 gradio 依赖

    解决方案:

    pip install pytorch_lightning pip install gradio

    如果使用 HF_ENDPOINT=https://hf-mirror.com ./webui.sh --port 7860 --listen --enable-insecure-extension-access --xformers --skip-prepare-environment 指令来启动项目,--skip-prepare-environment使得跳过依赖的安装,可以再用 pip install -r requirements_versions.txt 指令将缺失的依赖补上,其中就包含pytorch_lightning、gradio包。

    3.9 git拉取依赖失败

    如3.5中Stability-AI/stablediffusion更换成CompVis/stable-diffusion后仍git仍拉取依赖项目失败,以及generative-models、generative-models、BLIP依赖项目git拉取失败,可以考虑手动拉取,在webui项目路径下执行:

    git clone --config core.filemode=false https://github.com/CompVis/stable-diffusion.git ./repositories/stable-diffusion-stability-ai git clone --config core.filemode=false https://github.com/Stability-AI/generative-models.git ./repositories/generative-models git clone --config core.filemode=false https://github.com/crowsonkb/k-diffusion.git ./repositories/generative-models git clone --config core.filemode=false https://github.com/salesforce/BLIP.git ./repositories/BLIP

    Read more

    乡村政务办公系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

    乡村政务办公系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

    摘要 随着乡村振兴战略的深入推进,乡村政务信息化建设成为提升基层治理能力的关键环节。传统的乡村政务管理方式存在效率低下、信息孤岛、数据共享困难等问题,亟需通过现代化信息技术手段进行优化升级。乡村政务办公系统信息管理系统的开发旨在实现政务信息的数字化、网络化和智能化管理,提高乡村政务工作的透明度和服务效率。该系统通过整合资源、优化流程,为乡村干部和村民提供便捷的政务办理和信息查询服务,推动乡村治理体系和治理能力现代化。关键词:乡村振兴、政务信息化、基层治理、数字化管理、服务效率。 本系统采用前后端分离架构,后端基于SpringBoot框架实现高效稳定的业务逻辑处理,前端使用Vue.js框架构建交互友好的用户界面,数据库采用MySQL存储和管理数据。系统功能涵盖用户管理、帮扶信息管理、新闻公告发布等模块,支持多角色权限控制,确保数据安全性。系统通过RESTful API实现前后端数据交互,并采用JWT进行身份认证,保障系统安全可靠。此外,系统还支持数据可视化展示,便于乡村政务数据的统计与分析。关键词:SpringBoot、Vue.js、MySQL、权限控制、数据可视化。 数据表设计

    全Web化智慧PACS/RIS系统源码 (纯B/S架构)

    全Web化智慧PACS/RIS系统源码 (纯B/S架构)

    告别传统C/S架构的笨重客户端!本套源码采用纯Web前端技术实现极速调阅,支持CT、核磁(MR)、DR、超声等多模态影像。内置专业级Web Viewer,支持MPR多平面重建、MIP、VR体渲染。自带RIS全流程管理。100%无加密源码交付,是医疗软件公司打造云PACS、区域影像中心的核心利器! 一、 为什么医疗企业都在寻找真正的WebPACS? 传统的PACS系统多采用C++或C#开发,需要医生在电脑上一台台安装庞大的客户端,维护成本极高,且无法适应如今“互联网医院”和“医共体远程诊断”的需求。 * 极速跨平台: 本系统基于HTML5+WebGL技术,医生只需打开浏览器,即可实现秒级加载百兆级影像,支持Windows、Mac甚至iPad移动阅片。 * 省去百万研发费: 医疗影像的底层解析(如窗宽窗位调节、各种DICOM Tag解析、图像无损压缩算法)是深水区,直接购买本源码,省去2-3年以上的底层图形学研发周期。 * 高价值变现: 本源码不仅可独立作为医院影像科管理系统出售,更可作为“影像插件”

    AI智能二维码工坊如何提升效率?WebUI集成部署实战指南

    AI智能二维码工坊如何提升效率?WebUI集成部署实战指南 1. 为什么你需要一个“不掉链子”的二维码工具? 你有没有遇到过这些场景: * 做活动海报时,临时要生成50个带不同参数的二维码,结果在线生成器卡在加载页,刷新三次才出图; * 客服同事发来一张模糊的手机截图,里面有个二维码,你放大十倍也扫不出来,最后只能手动抄网址; * 想批量识别一批商品包装上的二维码,却发现手头的工具一次只能传一张,还动不动报“解码失败”; * 部署一个内部系统,想嵌入二维码生成功能,但引入的库要么依赖太多,要么启动就报错“找不到opencv-python”。 这些问题,不是因为技术太难,而是因为——用错了工具。 AI智能二维码工坊(QR Code Master)不是另一个“看着很炫、用着很累”的AI玩具。它不调用大模型,不联网请求API,不下载几百MB权重文件。它只做一件事:把二维码这件事,做得又快、又稳、又省心。 它用的是经过20年验证的QR Code标准算法 + OpenCV工业级图像处理能力,打包成一个开箱即用的WebUI镜像。今天这篇指南,就带你从零开始,

    Qwen-Image-Edit快速上手:3类高频指令(背景/配饰/风格)+5个避坑提示

    Qwen-Image-Edit快速上手:3类高频指令(背景/配饰/风格)+5个避坑提示 想不想体验一下“一句话修图”的魔法?不用再打开复杂的PS软件,也不用学习各种图层和蒙版,你只需要告诉AI你想怎么改,它就能帮你搞定。 今天要介绍的就是这样一个工具:Qwen-Image-Edit。它基于阿里通义千问团队开源的强大模型,经过深度优化后,可以直接在你的本地电脑上运行。你上传一张照片,输入一句像“把背景换成海边日落”或者“给这只猫戴上小领结”这样的话,它就能精准地理解你的意思,对图片进行像素级的修改,而且原图的细节、光影、人物神态都能被完美保留下来。 最棒的是,整个过程完全在本地进行,你的照片数据不会上传到任何云端服务器,隐私和安全有绝对保障。经过显存优化后,即使在消费级显卡上也能流畅运行,真正做到“秒级出图”。 这篇文章,我就带你快速上手这个神奇的图像编辑工具。我会重点分享三类你最可能用到的编辑指令,并告诉你五个新手最容易踩的坑,帮你从一开始就玩得顺畅。 1. 环境准备与快速启动 在开始施展“修图魔法”之前,我们需要先把“魔法阵”——也就是Qwen-Image-Edit环境