前言

本文介绍如何通过腾讯云GPU服务器部署Stable Diffusion,并安装Stable Diffusion WebUI可视化界面。

购买服务器

腾讯云相对而言,部署还是比较简单的,以“GN7-T4”配置的GPU服务器为例,活动价60元/15天。
对于轻量体验使用足够。长期使用的话,对个人用户而言,云服务成本比本地电脑要高些。
云服务器活动链接 https://cloud.tencent.com/act/pro/seckill_season?from=20210
image.png
image.png
切记以下内容,选对服务器配置,后续可以出错概率降低很多。

  1. 服务器地域,首选“香港”,其次选其他海外地区。因为Stable Diffusion很多环境和模型文件都比较大,选这些地域下载快些,后期安装过程出错率也非常低。
  2. 预装镜像选“Docker基础镜像”。该镜像预装环境(Ubuntu 20.04 + Docker 23.0.1 + nvidia-docker + GPU驱动版本 470.82.01),可以免去了手动安装部分环境,N卡驱动的流程。

安装conda环境

进入云服务器

  1. 打开腾讯云的云服务器后台,点击登录

image.png

  1. 登录后,会发现,腾讯云已经内置了轻量应用OrcaTerm,方便可视化操作。

image.png

安装所需环境

  1. 输入以下代码,下载anaconda

    1. wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificate

    image.png

  2. 再输入以下代码,安装anaconda

    1. bash Anaconda3-2022.10-Linux-x86_64.sh

    按提示走就行,先回车继续
    image.png
    阅读协议内容,按“q”退出,输入“yes”继续安装,再继续回车,安装在默认路径即可。
    image.pngimage.pngimage.png

启用环境

  1. 输入代码,打开配置文件

    1. vim ~/.bashrc
  2. 会自动打开一个文件。按“i”进入编辑状态,移动到文件最底部,输入以下代码(如果手动改为anaconda的路径,则需要把代码中对应的路径修改下)。然后按“esc”键退出编辑,并输入“:wq”。

    1. export PATH="/home/ubuntu/anaconda3/bin:$PATH"

    建议在英文输入法的情况下操作,代码能复制就复制,减少新人出错概率。
    image.png

  3. 操作完以上步骤后,输入以下代码,让前面的修改立即生效。

    1. source ~/.bash_profile

创建并进入虚拟环境

  1. 创建环境

输入以下代码,为Stable Diffusion创建一个名为“sd”的虚拟环境。根据提醒,输入“y”确认创建即可。

  1. conda create -n sd python=3.10
  1. 进入环境

输入以下代码,进入刚刚创建的环境。

  1. source activate sd

如下图所示,如果看到新的一行,最左边有环境的名字,则表示顺利。
image.png

下载Stable Diffusion WebUI程序

输入以下代码,下载WebUI文件

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

下载模型(可选)

Stable Diffusion启动时,需要有模型,如果是境外服务器,网络一般都没问题,这步骤可以跳过,后续运行WebUI时,会自己下载模型。
如果有手动下载模型,可以输入以下代码(以常用的chilloutmix模型为例)

  1. cd stable-diffusion-webui/models/Stable-diffusion
  2. wget -O chilloutmix_NiPrunedFp32.safetensors https://civitai.com/api/download/models/9475

第一行cd是进入指定路径,第二行是下载模型,也可以换成自己喜欢的模型信息。

更新pip

输入以下代码,更新下程序

  1. Sudo -m pip install --upgrade pip
  2. pip install --upgrade pip

运行Stable Diffusion WebUI

如果是境外服务器,这一步会非常顺利,下载速度也很快,大概20分钟可以搞定。
运行以下代码

  1. cd stable-diffusion-webui
  2. ./webui.sh --listen

示意图如下,记得看看命令最左侧是否有第4步创建的环境名,如(sd)
image.png


如没出现报错、卡顿等情况,则可跳过这块内容
如果这个环境出错,大概率都是因为网络问题。如果买的是境内的服务器,可以按以下方式修改下载源,解决网络问题。
运行以下代码

  1. cd stable-diffusion-webui
  2. vi launch.py
  1. 打开“launch.py”文件后,
  2. 按“i”进入编辑状态,
  3. 找到“def prepare_environment”模块,以及如图所示的8个github链接

image.png

  1. 在每一个github链接前面添加**https://ghproxy.com/**

例如git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379
改为git+https://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379

  1. 然后按“esc”键退出编辑,并输入“:wq”保存并退出。
  2. 最后再重新运行**./webui.sh --listen**命令即可。

当看到以下内容时,则代表安装成功,浏览器打开 http://x.x.x.x:7860/ (“x”记得改为你服务器的公网IP),就可以看到Stable Diffusion WebUI的页面了,恭喜恭喜。
image.png
image.png

后续服务器重启时,每次运行Stable Diffusion,都需要重复以下命令,进入环境以及启动Stable Diffusion WebUI。

  1. source activate sd
  2. cd stable-diffusion-webui
  3. ./webui.sh --listen