部署环境:
环境:虚拟机Centos7、6处理器、8G内存+10G交换内存、没有GPU使用CPU硬解
windows版本的可以直接使用整合包:看评论的转载链接自行下载,解压即可用
安装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=1gpgcheck=1gpgkey=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=1gpgcheck=0[aliyun-epel]name=aliyun-epel
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1gpgcheck=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#卸载系统自带的低版本git[root@sd-webio-53 /usr/local/src]# git --versiongit 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 --versiongit 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配置,因为其要用到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
提示:我这里是直接用root运行的
#以防连不上github,添加两行[root@sd-webio-53 /]# vim /etc/hosts140.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 --versiongit version 2.15.1
模型
提示:因为虚拟机的问题用的时使用内存较小512,还有别的模型可以自己去下载
(venv)[root@sd-webio-53 /]# cd /home/stable-diffusion-webui/models/Stable-diffusionwget 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下载依赖包
提示:用下面的命令就是自动下载,一般都会非常非常的慢,所以建议可以开多几个窗口对txt里面的一个一个下载
#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]# 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.shcan_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#修改文件第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
出现 version `ZLIB_1.2.9’ not found
提示:解决方法
##看看有没有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的版本这个问题就解决了,可以继续./webui.sh
启动成功
提示:解决方法
#启动成功后就是这个样子,这时候我们还没有办法去访问这个连接
这里我们直接Ctrl+c中断这个进程,然后使用下面的命令让他监听指定的端口并能让我们访问
(venv)[root@sd-webio-53 /home/stable-diffusion-webui]# python3 launch.py --no-half --port 1234 --listen#这样就可以通过IP:1234在主机上去访问了#例如我的就是192.168.10.53:1234
这里画几个重点
指定使用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.shcan_run_as_root=1
如果./webui.sh的时候因为memory中断了进程的话就需要创建些swap交换空间了
#我这里时10G交换空间,可以根据自己的需求调整(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#检查是否成功添加
版权归原作者 小羊羔-子 所有, 如有侵权,请联系我们删除。