git 2.15.1安装
yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel curl-devel
cd /usr/local/src/
sudo wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xz --no-check-certificate
tar -vxf git-2.15.1.tar.xz
cd git-2.15.1
./configure
make -j4 && make -j4 install
git --version
python3安装
#安装编译所需的依赖
[root@sd-webio-53 /usr/local/src]# yum -y install openssl-devel libffi-devel bzip2-devel
[root@sd-webio-53 /usr/local/src]# yum -y groupinstall "Development Tools"
#安装 Python 3.10 必需的 openssl >= 1.1.1
[root@sd-webio-53 /usr/local/src]# wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz --no-check-certificate
[root@sd-webio-53 /usr/local/src]# tar xf openssl-1.1.1q.tar.gz && cd openssl-1.1.1q
[root@sd-webio-53 /usr/local/src/openssl-1.1.1q]# ./config --prefix=/usr/local/openssl-1.1.1
[root@sd-webio-53 /usr/local/src/openssl-1.1.1q]# make && make install
#安装 Python 3.10
[root@sd-webio-53 /usr/local/src]# wget https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz
[root@sd-webio-53 /usr/local/src]# tar zxf Python-3.10.5.tgz && cd Python-3.10.5
[root@sd-webio-53 /usr/local/src/Python-3.10.5]# ./configure --enable-optimizations --with-openssl=/usr/local/openssl-1.1.1 --with-openssl-rpath=auto
[root@sd-webio-53 /usr/local/src/Python-3.10.5]# make altinstall
#添加软连接
[root@sd-webio-53 /]# whereis python
[root@sd-webio-53 /]# cd /usr/bin/
[root@sd-webio-53 /usr/bin]# mv /usr/bin/python /usr/bin/python.bak
[root@sd-webio-53 /usr/bin]# ln -s /usr/local/bin/python3.10 /usr/bin/python3
[root@sd-webio-53 /usr/bin]# ln -s /usr/local/bin/python3.10 /usr/bin/python
[root@sd-webio-53 /usr/bin]# python -V
#更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用
[root@sd-webio-53 /]# vi /usr/bin/yum
把第一行的#! /usr/bin/python 修改为
#! /usr/bin/python2
[root@sd-webio-53 /]# vi /usr/libexec/urlgrabber-ext-down
把第一行的#! /usr/bin/python 修改为
#! /usr/bin/python2
下载 stable-diffusion-webui
#以防连不上github,添加两行
[root@sd-webio-53 /]# vim /etc/hosts
140.82.112.3 github.com
39.102.194.95 github.com
[root@sd-webio-53 /]# cd /home
[root@sd-webio-53 /home]# git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
[root@sd-webio-53 /home]# cd stable-diffusion-webui
#在这里手动创建下虚拟环境,避免用错了版本的 python
[root@sd-webio-53 /home/stable-diffusion-webui]# /usr/local/bin/python3.10 -m venv venv
#进入虚拟环境,看git版本是否正常
[root@sd-webio-53 /home/stable-diffusion-webui]# source venv/bin/activate
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# git --version
git version 2.15.1
模型
(venv) [root@sd-webio-53 /]# cd /home/stable-diffusion-webui/models/Stable-diffusion
wget https://huggingface.co/stabilityai/stable-diffusion-2-base/resolve/main/512-base-ema.ckpt
wget https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/configs/stable-diffusion/v2-inference.yaml
(venv) [root@sd-webio-53 /home/stable-diffusion-webui/models/Stable-diffusion]# mv v2-inference.yaml 512-base-ema.yaml
#这里需要将yaml文件的名字改成 512-base-ema.yaml
pip下载依赖包
#PIP用国内的提升下载速度
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# pip config set install.trusted-host mirrors.aliyun.com
#开始下载依赖
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]#pip install nes-py --no-cache-dir
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]#pip install --upgrade pip setuptools wheel
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# pip3.10 install -r requirements.txt
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# pip3.10 install -r requirements_versions.txt
#等全部依赖安装成功了再到这里
#指定使用CPU强行解析
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# export COMMANDLINE_ARGS=--skip-torch-cuda-test
#修改 can_run_as_root 从0改成 1,允许root权限运行
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# vi webui.sh
can_run_as_root=1
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# ./webui.sh
#这一步会在git上拉去数据,也是会非常非常慢,如果有中断报错什么的,可以自己到repositories目录去git clone
#这个时候会大量从github下载 BLIP 、CodeFormer、 k-diffusion、 stable-diffusion-stability-ai、 taming-transformers 网不好的情况下大概得下载半天吧
#会遇到几个错误,no module xxx 直接搜索解决就行了
#下载完成后,继续执行./webui.sh 即可,直到完成。
出现No module named ‘_lzma’
提示:解决方法
(venv) [root@sd-webio-53 /]# yum install xz-devel python-backports-lzma backports.lzma -y
(venv) [root@sd-webio-53 /]# pip install backports.lzma
(venv) [root@sd-webio-53 /]# pip install xformers
#修改文件第27行左右的地方
(venv) [root@sd-webio-53 /]# vim /usr/local/lib/python3.10/lzma.py
try:
from _lzma import *
from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
from backports.lzma import *
from backports.lzma import _encode_filter_properties, _decode_filter_properties
后台执行
如果是--listen 就可以使用,我们公网的ip + 端口号,进行访问了
如果希望服务器页面关闭后,仍然保留该页面运行
nohup ./webui.sh --listen --no-half &