部署環(huán)境:
環(huán)境:虛擬機(jī)Centos7、6處理器、8G內(nèi)存+10G交換內(nèi)存、沒(méi)有GPU使用CPU硬解
windows版本的可以直接使用整合包:看評(píng)論的轉(zhuǎn)載鏈接自行下載,解壓即可用
安裝Git 2.15.1
提示:這里可能source后版本是1.8.3,只需要重新yum remove git && source /etc/profile
#我這里使用的是aliyun的源
[root@sd-webio-53 /]# vim /etc/yum.repo.d/aliyun.repo
[aliyun-os]
name=aliyun-os
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
[aliyun-extra]
name=aliyun-extra
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
enabled=1
gpgcheck=0
[aliyun-epel]
name=aliyun-epel
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
[root@sd-webio-53 /]# yum clean all
[root@sd-webio-53 /]# yum makecache
#安裝依賴軟件
[root@sd-webio-53 /usr/local/src]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc gcc perl-ExtUtils-MakeMaker
#卸載系統(tǒng)自帶的低版本git
[root@sd-webio-53 /usr/local/src]# git --version
git version 1.8.3
[root@sd-webio-53 /usr/local/src]# yum remove git
#編譯安裝最新的git版本
[root@sd-webio-53 /usr/local/src]# wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xz
[root@sd-webio-53 /usr/local/src]# tar -vxf git-2.15.1.tar.xz
[root@sd-webio-53 /usr/local/src]# cd git-2.15.1
[root@sd-webio-53 /usr/local/src/git-2.15.1]# make prefix=/usr/local/git all
[root@sd-webio-53 /usr/local/src/git-2.15.1]# make prefix=/usr/local/git install
[root@sd-webio-53 /usr/local/src/git-2.15.1]# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
[root@sd-webio-53 /usr/local/src/git-2.15.1]# source /etc/profile
[root@sd-webio-53 /usr/local/src/git-2.15.1]# git --version
git version 2.15.1
安裝python3.10
提示:注意最后修改vim 和 urlgrabber-ext-down
#安裝編譯所需的依賴
[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配置,因?yàn)槠湟玫絧ython2才能執(zhí)行,否則會(huì)導(dǎo)致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
提示:我這里是直接用root運(yùn)行的
#以防連不上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
#在這里手動(dòng)創(chuàng)建下虛擬環(huán)境,避免用錯(cuò)了版本的 python
[root@sd-webio-53 /home/stable-diffusion-webui]# /usr/local/bin/python3.10 -m venv venv
#進(jìn)入虛擬環(huán)境,看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
模型
提示:因?yàn)樘摂M機(jī)的問(wèn)題用的時(shí)使用內(nèi)存較小512,還有別的模型可以自己去下載
(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下載依賴包
提示:用下面的命令就是自動(dòng)下載,一般都會(huì)非常非常的慢,所以建議可以開(kāi)多幾個(gè)窗口對(duì)txt里面的一個(gè)一個(gè)下載
#PIP用國(guó)內(nèi)的提升下載速度
(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
#開(kāi)始下載依賴
(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強(qiáng)行解析
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# export COMMANDLINE_ARGS=--skip-torch-cuda-test
#修改 can_run_as_root 從0改成 1,允許root權(quán)限運(yùn)行
(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
#這一步會(huì)在git上拉去數(shù)據(jù),也是會(huì)非常非常慢,如果有中斷報(bào)錯(cuò)什么的,可以自己到repositories目錄去git clone
#這個(gè)時(shí)候會(huì)大量從github下載 BLIP 、CodeFormer、 k-diffusion、 stable-diffusion-stability-ai、 taming-transformers 網(wǎng)不好的情況下大概得下載半天吧
#會(huì)遇到幾個(gè)錯(cuò)誤,no module xxx 直接搜索解決就行了
#下載完成后,繼續(xù)執(zhí)行./webui.sh 即可,直到完成。
出現(xiàn)No module named ‘_lzma’
提示:解決方法
(venv) [root@sd-webio-53 /]# yum install xz-devel python-backports-lzma backports.lzma
#修改文件第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
出現(xiàn) version `ZLIB_1.2.9’ not found
提示:解決方法
##看看有沒(méi)有1.2.9的版本,有的話直接到軟連接那一步
(venv) [root@sd-webio-53 /]# strings /lib64/libz.so.1 |grep "ZLIB*"
(venv) [root@sd-webio-53 /usr/local/src]# wget http://www.zlib.net/fossils/zlib-1.2.9.tar.gz
(venv) [root@sd-webio-53 /usr/local/src]# tar xf zlib-1.2.9.tar.gz
(venv) [root@sd-webio-53 /usr/local/src]# cd zlib-1.2.9/
(venv) [root@sd-webio-53 /usr/local/src/zlib-1.2.9]# ./configure
(venv) [root@sd-webio-53 /usr/local/src/zlib-1.2.9]# make && make install
(venv) [root@sd-webio-53 /usr/local/src/zlib-1.2.9]# cp libz.so.1.2.9 /usr/lib64/
(venv) [root@sd-webio-53 /usr/local/src/zlib-1.2.9]# rm -f /usr/lib64/libz.so.1
(venv) [root@sd-webio-53 /usr/local/src/zlib-1.2.9]# ln -s /usr/lib64/libz.so.1.2.9 /usr/lib64/libz.so.1
(venv) [root@sd-webio-53 /usr/local/src/zlib-1.2.9]# strings /lib64/libz.so.1 |grep "ZLIB*"
#這里能看到1.2.9的版本這個(gè)問(wèn)題就解決了,可以繼續(xù)./webui.sh
啟動(dòng)成功
提示:解決方法
#啟動(dòng)成功后就是這個(gè)樣子,這時(shí)候我們還沒(méi)有辦法去訪問(wèn)這個(gè)連接
這里我們直接Ctrl+c中斷這個(gè)進(jìn)程,然后使用下面的命令讓他監(jiān)聽(tīng)指定的端口并能讓我們?cè)L問(wèn)
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# python3 launch.py --no-half --port 1234 --listen
#這樣就可以通過(guò)IP:1234在主機(jī)上去訪問(wèn)了
#例如我的就是192.168.10.53:1234
這里畫幾個(gè)重點(diǎn)
指定使用CPU強(qiáng)行解析
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# export COMMANDLINE_ARGS=--skip-torch-cuda-test
修改 can_run_as_root 從0改成 1,允許root權(quán)限運(yùn)行文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-504178.html
(venv) [root@sd-webio-53 /home/stable-diffusion-webui]# vi webui.sh
can_run_as_root=1
如果./webui.sh的時(shí)候因?yàn)閙emory中斷了進(jìn)程的話就需要?jiǎng)?chuàng)建些swap交換空間了文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-504178.html
#我這里時(shí)10G交換空間,可以根據(jù)自己的需求調(diào)整
(venv) [root@sd-webio-53 /]# dd if=/dev/zero of=/opt/swap bs=10M count=1024
(venv) [root@sd-webio-53 /]# mkswap /opt/swap
(venv) [root@sd-webio-53 /]# swapon /opt/swap
(venv) [root@sd-webio-53 /]# free -h
#檢查是否成功添加
到了這里,關(guān)于【AI作畫】stable diffusion webui Linux虛擬機(jī) Centos 詳細(xì)部署教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!