centos7搭建stable diffusion

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 &

參考文檔

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容