GPU云主机
微信客服
领取新人福利
进官方活动群
服务器Ubuntu22.04系统下的Stale diffusion+Webui部署安装
欢迎使用我们公司服务器来部署和使用Stable Diffusion大模型。通过本指南,您将学会如何在Ubuntu 22.04系统下安装和配置Stable Diffusion大模型,并使用open-webui进行交互。如果您对我们的服务器感兴趣,可以在官网处获取服务器资源,我们还提供详细的部署帮助文档,帮助您轻松上手。






Stable Diffusion介绍
      Stable Difusion是2022年发布的 深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词指导下产生图生图的转变。它是一种潜在 扩散模型Q,由慕尼黑大学的CompVis研究团体开发的各种生成性人工神经网络之一。它是由初创公司StabilityAl.
      Stable Difusion的源代码和模型权重已分别公开发布在GitHub和Hugging Face,可以在大多数配备有适度GPU的电脑硬件上运行。而以前的专有文生图模型(如DALL-E和Midjourney)只能通过云计算服务访问。
      项目地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui
部署框架
在这个框架中,每个组件都有其特定的角色和功能,它们通过Web UI这个桥梁相互连接,共同为用户提供服务。用户通过浏览器与Web服务器交互,而Web服务器则负责与后端的Stale Diffusion模型进行通信,以完成图片生成的任务。
•  用户(User):
用户是最终与系统交互的人,他们使用Web UI来生成图片。
• 浏览器(Browser):
用户通过浏览器访问Web服务器。浏览器充当客户端,发送HTTP请求并接收响应。
• Web服务器(Web Server):
运行在Ubuntu服务器上的软件,通常是Web框架的一部分,比如Flask或Django。它处理来自浏览器的HTTP请求,提供Web UI,并与后端服务交互。
• Stale Diffusion模型(Stale Diffusion Model):
这是一个AI模型,用于图像生成。它接收Web服务器传递的参数和输入,执行图像生成任务,并将结果返回给Web服务器。
• Web UI(Web User Interface):
用户通过Web UI与系统交互。Web UI是Web服务器提供的前端界面,允许用户上传图片、设置生成参数等。
Stable Diffusion模型的优点和缺点
Stable Diffusion(SD模型)是一种基于生成对抗网络的AI绘画技术,它在数字艺术和创意设计领域中表现出色。以下是SD模型的一些优点和缺点:
• 优点:
逼真度高:SD能够生成逼真的绘画作品,适用于风景、肖像和抽象艺术等多种风格。
易用性:操作简单,只需输入提示词即可生成图像。
开源免费:作为一个开源项目,SD为所有人提供了免费的使用机会。
可拓展性强:SD具有丰富的拓展性,社区中有大量不断迭代优化的图像调整插件以及免费分享的模型可以使用。
出图效率高:部署在本地的SD绘图效率完全由硬件设备决定,可以实现快速出图。
数据安全保障:所有绘图过程在本地进行,数据安全性高。
• 缺点:
生成时间长:对于复杂的图像,SD生成时间可能会较长。
效果不稳定:作为发展中的技术,SD可能会生成一些意外的结果。
在生成手部时可能出错:SD在生成特定姿势如“躺”时,人物可能出现错误。
对内容安全有严格审查:可能影响某些内容的生成效果。
部署流程解释介绍
1. 购买 GPU 服务器
• 在点动云官网购买并配置服务器:

    


















• 操作系统选择:
     选择一个适合您需求的操作系统,通常推荐使用 Ubuntu 22.04 LTS,因为它提供了长期支持和稳定性。
• 购买和部署:
    完成购买流程,启动服务器,并进行初步配置。
    FinalShell是一款服务器管理工具,支持SSH和远程桌面,使用FinalShell远程连接配置服务器。

2. 系统环境配置
• 更新包列表
     确保依赖包是最新的,以获取最新的安全补丁和软件更新。
• 安装显卡驱动
     下载驱动:通过命令行工具下载最新的NVIDIA显卡驱动。
     安装驱动:安装下载的驱动程序,以确保显卡能够被系统正确识别和使用。
• 安装CUDA
      CUDA是NVIDIA提供的用于通用并行计算的编程模型和API,对于深度学习应用至关重要。
• 配置环境变量
     设置环境变量,确保系统能够识别CUDA和其他相关软件。
• 安装conda
     conda是一个流行的Python环境管理器,它可以帮助您创建独立的工作环境,避免不同项目间的依赖冲突。
 
3. Stable Diffusion与Web UI安装
• 环境准备
     安装Python和pip,它们是Python语言的包管理工具。
     安装git,用于下载Stable Diffusion和Web UI的源代码。
• 下载与配置
     下载Stable Diffusion和Web UI的源代码:通过git工具从官方仓库克隆代码到 本地。
     配置环境:根据项目需求,可能需要修改配置文件或安装额外的依赖。
• 安装应用
     安装Stable Diffusion,这是一个AI图像生成模型。
     安装Web UI,它提供了一个图形界面,使得用户能够更直观地与AI模型交互。
 
部署流程概述
系统更新:保持系统软件最新,确保安全性和兼容性。
显卡驱动与CUDA安装:为GPU加速计算提供必要的驱动支持。
conda安装:管理和隔离Python环境,避免依赖冲突。
Stable Diffusion与Web UI部署:下载、配置并安装AI图像生成模型及其图形界面。
部署具体流程
一.FinalShell的下载及使用:
     FinalShell是一款服务器管理工具,支持SSH和远程桌面,提供多标签管理、命令自动提示、SFTP、性能监控等功能,适用于开发运维,界面友好,在很大程度上可以免费替代XShell。
    FinalShell的下载:https://www.hostbuf.com/t/988.html
    FinalShell的基本使用:
   连接Linux服务器

 
二、ubuntu基本环境配置
1.更新包列表:
• 打开终端,输入以下命令:
   
sudo apt-get update 
sudo apt upgrade
 过程中需要输入 y 或者按 Enter 键确认安装

2. 安装英伟达显卡驱动
2.1 使用wget在命令行下载驱动包
wget https://cn.download.nvidia.com/XFree86/Linux-x86_64/550.100/NVIDIA-Linux-x86_64-550.100.run

上面使用的是4090版本的,对应的驱动版本为550.100
不同型号的显卡请到英伟达官网查找下载链接:
https://www.nvidia.cn/Download/Find.aspx?lang=cn&QNF=1

2.2 更新软件列表和安装必要软件、依赖
sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

2.3 卸载原有驱动
sudo apt-get remove --purge nvidia* 

• 使用vim修改配置文件
sudo vim /etc/modprobe.d/blacklist.conf
  按 i 键进入编辑模式,在文件尾增加两行 
blacklist nouveau
options nouveau modeset=0
 按 Esc 键退出编辑模式,输入 :wq 保存并退出

• 检查是否写入成功    
sudo cat /etc/modprobe.d/blacklist.conf

   进行如下设置:
    名称:  自定义
    主机:  填写你的服务器的公网IP
    端口:  填写服务器端口
    备注:  自定义
    方法:  密码
    用户名:默认是root
    密码:  填写服务器的登录密码
   新建完后双击或者右键点击连接
• 更新文件
sudo update-initramfs -u

• 重启电脑
sudo reboot
  有时候重启时间较长,请耐心等待,重启后再次连接
2.4 安装驱动
• 授予执行权限    
sudo chmod 777 NVIDIA-Linux-x86_64-550.100.run

• 执行安装命令   
sudo ./NVIDIA-Linux-x86_64-550.100.run
 安装过程中需按 Enter 键确认安装

• 检测显卡驱动是否安装成功    
nvidia-smi
2.5 安装CUDA
• 使用wget在命令行下载安装包   
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

  安装的显卡驱动版本是550.100,可以安装CUDA 12版本。
  可根据自己显卡版本选择合适的CUDA版本,查询链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

• 授予执行权限    
sudo chmod 777 cuda_12.4.0_550.54.14_linux.run

• 执行安装命令    
sudo ./cuda_12.4.0_550.54.14_linux.run

     输入 accept 开始安装
注意这里要按 Enter 取消勾选第一个选项,因为之前已经安装了驱动
然后选择 Install 开始安装
2.6环境变量配置
• 以vim方式打开配置文件   
sudo vim ~/.bashrc
  按 i 键进入编辑模式,在文件尾增加两行
  在文件尾中加入以下两行:  
export PATH="/usr/local/cuda-12.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH"
  按 Esc 键退出编辑模式,输入 :wq 保存并退出

• 更新环境变量
source ~/.bashrc

• 检测CUDA是否安装成功
nvcc -V
3. 安装conda
3.1 软件下载
  
wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh

• 执行安装命令   
bash Anaconda3-2023.03-1-Linux-x86_64.sh
  一直按 Enter 之后输入 yes 确认
注意:这里要按 Enter 确认安装位置 /root/anaconda3
          如有更改,后续环境变量配置路径均需更改

3.2 设置环境变量    
vim /etc/profile
  按 i 键进入编辑模式,在末尾添加环境变量    
export PATH="~/anaconda3/bin:$PATH"
  按 Esc 键退出编辑模式,输入 :wq 保存并退出    
vim ~/.bashrc
  按 i 键进入编辑模式,在末尾添加环境变量    
export PATH="~/anaconda3/bin:$PATH"
  按 Esc 键退出编辑模式,输入 :wq 保存并退出

• 刷新环境变量   

source /etc/profile
source ~/.bashrc

• 测试是否安装成功   
conda -V
3.3 conda配置
• 配置清华镜像源   
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

• 设置搜索时显示通道地址   
conda config --set show_channel_urls yes

• 配置pip 镜像源   
pip config set globalThis.index-url https://pypi.tuna.tsinghua.edu.cn/simple

三、Stable Diffusion+WebUI下载安装
1. Stable Diffusion+WebUI 下载与环境配置
1.1 环境准备

• 安装 libgoogle-perftools4 和 libtcmalloc-minimal4 库
  libgoogle-perftools4 和 libtcmalloc-minimal4 库是 Google 开源的性能分析工具库,可以帮助优化程序性能   
sudo apt-get install libgoogle-perftools4 libtcmalloc-minimal4 -y

• 创建虚拟环境    
conda create -n sd  python=3.10.6

1.2 源码修改及配置
• 使用git克隆    
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

• 如果下载速度较慢可添加https://mirror.ghproxy.com/镜像源   
git clone https://mirror.ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
  进入到 stable-diffusion-webui 文件夹内  
cd stable-diffusion-webui
  这时候直接./webui.sh启动脚本通常会出现各种各种的问题,主要原因是国内网络问题

• 解决安装依赖库速度慢报错问题:
  使用Finalshell的文件管理功能
在/root/stable-diffusion-webui/modules文件夹中找到 launch_utils.py 下的prepare_environment()函数,将其中涉及到 github 仓库的依赖,全部添加 https://mirror.ghproxy.com/镜像按Ctrl+F查找https://github.com/全部替换成https://mirror.ghproxy.com/https://github.com/如下图
     Ctrl+S进行保存

• 模型下载下载慢不成功问题:
  引入镜像地址   
export HF_ENDPOINT=https://hf-mirror.com 
  写入到~/.bashrc中  
echo  'export  HF_ENDPOINT="https://hf-mirror.com"'  >>  ~/.bashrc
  刷新环境变量 
source ~/.bashrc

• 修改/root/stable-diffusion-webui/weiui.sh文件,将use_venv变量值改为0,意为使用当前环境进行安装

  如果是root用户还要将can_run_as_root变量值改为1
2.Stable Diffusion+WebUI 安装
• 进入虚拟环境  
conda activate sd

• 安装pytorch   
pip3 install torch==2.1.2 torchvision torchaudio --extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple

• 安装环境
pip install -r requirements.txt 

• 启动脚本,会默认配置好项目环境,并安装好项目依赖包:
./webui.sh --port 15026 --listen --enable-insecure-extension-access --xformers
     --port 15026: 设置服务器监听的端口为业务端口,默认端口是7860,这里设置为15026。
                            如下方打开购买服务器端口映射信息,这里的业务端口可以设置30131到30140之间的端口号
映射信息解释:
1.Linux(Ubuntu/CentOS)类操作系统连接内网22端口
2.Windows操作系统连接内网3389端口
3.业务端口
--listen: 让服务器监听网络连接。这样设置后,局域网内的其他计算机可以访问UI,如果配置了端口转发,互联网上的计算机也可以访问。
--enable-insecure-extension-access: 启用扩展标签,不考虑其他选项。
更多详细的命令行参数和设置请参考:
https://profaneservitor.github.io/sdwui-docs/cli/
• 启动成功后,访问http://主机IP:端口