机器准备
机器配置, 基于腾讯云服务器,8核心32g, cuda11.0.3,cudnn8.1.0
安装python3.10
1sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
2
3sudo apt-get install liblzma-dev # 这个不装,后面启动 webui.sh的时候, 报错ModuleNotFoundError: No module named '_lzma'
4
5wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
6tar zxvf Python-3.10.0.tgz
7sudo make
8sudo make install
1vim ~/.bashrc # 添加下面2行
2alias python='/usr/local/bin/python3'
3alias pip='/usr/local/bin/pip3.10'
4
5# 然后
6source ~/.basrc
安装stable-diffusion-webui
1git clone git@github.com:AUTOMATIC1111/stable-diffusion-webui.git
2# 直接运行这个, 它会帮我们判断cuda版本需要的依赖 版本。
3./webui.sh
这个下面是走的弯路,看网上搞了。 其实上面成功了 ,它还是全自动的。 如果不行,下面再试试。
1pip install torch==1.11.0+cu102 -f https://download.pytorch.org/whl/torch_stable.html
2pip install torchvision==0.12.0+cu102 -f https://download.pytorch.org/whl/torch_stable.html
3
4
5pip install -r requirements_versions.txt
6# pip安装依赖的时候 如果出现循环一直安装进行中的,则一行一行安装。
7pip install -r requirements.txt
部署
我采用supervisor部署。 要求非root用户启动。 加了个环境变量 COMMANDLINE_ARGS="–no-gradio-queue" 。不然websocket 有点问题。
1[program:diffusion]
2user=ubuntu
3directory=/home/ubuntu/stable-diffusion-webui
4command=/home/ubuntu/stable-diffusion-webui/webui.sh
5autostart=true
6autorestart=true
7startretries=10
8redirect_stderr=true
9stdout_logfile=/tmp/webui.log
10environment=COMMANDLINE_ARGS="--no-gradio-queue"
配置个nginx 的反向代理 即可。 这里就不再说明。