1、环境搭建

为了方便,这里直接选择Vultr提供的已安装Anaconda的Ubuntu 22.04系统。

如果你自己电脑有足够的显存,你也可以在自己电脑上搭建,因为我电脑只有2GB显存和8GB运行内存,所以完全不够用,我就选择云端搭建。

如果你也是想快速搭建,你也可以选择云端搭建,这里推荐我知道的两个不错的GPU平台,一个是AutoDL,还有一个是Vultr。其中AutoDL是国内的,它比较便宜,目前已知最低是0.78/h,并且可选的配置比较多,当然也有缺点,缺点就是不能开放端口,虽然是root账号,但是很多限制。Vultr是国外的供应商,它的费用比较贵,但优势是自由度高。

这是使用Vultr来演示。

1.1、GPU服务器选择

点击这里跳转到Vultr

我们选择Cloud GPU,默认选择Nvidia A100。

然后Location默认即可,当然你也可以选择你喜欢的Location。

然后是Server image推荐选择Anaconda或者Miniconda镜像。注意不要选择CentOS系统,使用CentOS系统搭建会有很多环境上的问题,并且这里官方也不推荐使用该系统。

image-20230506105145170

接下来是选择GPU的大小,这里我选择的是8GB的显存。

最后记得把Auto Backups给取消掉,减少不必要的扣费。

image-20230506111044394

最后点击Deploy Now即可。

1.2、配置服务器环境

执行下面的两个命令

apt-get update
apt-get upgrade

2、源码和模型下载

创建一个目录存储源码

cd /opt
mkdir sd
cd sd

克隆源码到服务器上

点击这里跳转到源码处

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

下载模型到指定的位置,这里下载到stable diffusion webui源码的中models/Stable diffusion目录中。

点击这里跳转到模型下载处

这里只下载v1-5-pruned-emaonly.safetensors即可。

cd /opt/sd/stable-diffusion-webui/models/Stable-diffusion
wget -c https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors

3、安装依赖库文件

创建虚拟环境

cd /opt/sd/stable-diffusion-webui
conda create -n ChatGLM python=3.10

激活虚拟环境

conda activate ChatGLM

我们在虚拟环境中安装依赖库。

修改requirements.txt,在末尾添加xformers

vim requirements.txt

执行下面的命令

pip install -r requirements_versions.txt
pip install -r requirements.txt

在执行上面的命令中可能会有报错,先不要管它。

修改webui.sh文件,因为默认是不允许使用root用户运行的,所以这里我把它修改成允许使用root用户允许webui.sh脚本。

vim webui.sh

修改前

can_run_as_root=0

修改后

can_run_as_root=1

当然如果你是在非Linux系统上运行,那么你就不用修改webui.sh脚本文件了,如果你是在Windwos系统运行,执行的是webui.bat脚本。

安装cuda-toolkit

conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit
python3 -m pip install nvidia-cudnn-cu11==8.7.0.84
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

4、运行项目

最后我们就可以使用下面的命令来启动项目了。通过下面的命令启动默认是使用7860端口,所以你需要提前把7860端口开放。

ufw allow 7860/tcp
./webui.sh --listen

也可以使用下面的命令来启动项目。

./webui.sh --share

通过上面的这种方式会自动给你返回一个域名,可以复制域名直接在浏览器中访问。

5、视频教程

如果你喜欢观看视频,那么你可以点击这里

Q.E.D.


热爱生活,热爱程序