基于阿里云ECS服務(wù)器部署stable-diffusion-webui
1.?ECS配置
?

l?鏡像選擇Ubuntu22.04 64位,亦可選取Ubuntu 18(自動(dòng)下載好硬件驅(qū)動(dòng)與cuda,但是python3.10與pip與git需要自己配置),本文后續(xù)依照Ubuntu22.04 64位介紹。
l?系統(tǒng)盤大小設(shè)置為128GB(停機(jī)模式主要費(fèi)用產(chǎn)生原因,也可以調(diào)小從而省錢,不過stable diffusion模型體積通常較大,需要個(gè)人取舍)
l?網(wǎng)絡(luò)按流量計(jì)費(fèi),帶寬建議拉高25Mbps~50Mbps
l?安全組密鑰對(duì)等安全設(shè)置按照指引即可,登錄名建議ecs-user
?
2.?系統(tǒng)配置
?

l?Ubuntu22.04鏡像Python3.10以及git已經(jīng)預(yù)先安裝好,無需配置
l?運(yùn)行?sudo?apt-get?update?
l?安裝python3.10版本venv:sudo apt install python3.10-venv ?
venv是python自帶的虛擬環(huán)境服務(wù)(與anaconda類似),主角stable-diffusion-webui即在venv虛擬環(huán)境下服務(wù)
l?安裝完成Ubuntu22會(huì)跳出Daemons using outdated libraries紫屏界面,這里是22的新特性我也沒有研究 直接回車?
?
3.?硬件相關(guān)配置
?

?
Nvidia官網(wǎng)根據(jù)GPU型號(hào)等信息查詢Cuda安裝命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring*.deb
sudo apt-get updatesudo?
apt-get -y install cuda
?
l?上述命令在V100以及T4顯卡下測(cè)試適用
l?運(yùn)行?nvidia-smi?查看安裝情況
?

?
l?已經(jīng)安裝完成cuda和顯卡驅(qū)動(dòng)
?
4.?部署stable-diffusion-webui
l?在/home/ecs-user或其他目錄下運(yùn)行命令clone源碼并進(jìn)入目錄
git clone?https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd ?stable-diffusion-webui
P.S.此后所有操作默認(rèn)在stable-diffusion-webui目錄下
?
l?修改launch.py 200~300行的https://github.com為https://ghproxy.com/https://github.com
此處是利用Ghproxy進(jìn)行代理,加速國(guó)內(nèi)Git
l?運(yùn)行bash webui.sh

?
此時(shí)會(huì)報(bào)錯(cuò)虛擬環(huán)境無法激活,查閱issues
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/1120
應(yīng)該運(yùn)行python3 -m venv venv/
?
l?更新pip:?pip install --upgrade pip
l?換源pip:?
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
l?運(yùn)行bash webui.sh?開始自動(dòng)下載依賴庫(kù)
?
P.S. Installing gfpgan \clip \open_clip以及clone時(shí)間都可能較長(zhǎng),耐心等待,若失敗可以重新嘗試運(yùn)行bash webui.sh
**
Installing gfpgan開始需要等待較長(zhǎng)時(shí)間,若最后仍出現(xiàn)錯(cuò)誤 可嘗試激活venv環(huán)境自行安裝:
source venv/bin/activate
pip install basicsr
pip install facexlib
pip install -r requirements_versions.txt
成功安裝gfpgan
**
最后會(huì)自動(dòng)下載stable diffusion v1.5模型 大小4gb ,?其實(shí)應(yīng)該可以修改launch.py(我并沒有嘗試過)不自動(dòng)下載該模型或者是下載別的模型,該模型繪制效果似乎一般。

?
5.?端口開放
?
l?執(zhí)行至此處距離成功只有一步之遙了,回到阿里云控制臺(tái)-網(wǎng)絡(luò)與安全-安全組,選中ECS服務(wù)器使用的安全組-配置規(guī)則,手動(dòng)添加端口,授權(quán)對(duì)象可以0.0.0.0或者查下本機(jī)ip地址。
?
l?回到服務(wù)器bash webui.sh服務(wù)運(yùn)行?但是通過我們自己的電腦訪問仍然失敗
原因感謝@巫師傅 排查后發(fā)現(xiàn)需要添加listen參數(shù)使得local address變?yōu)?.0.0.0
?
l?最后一步,啟動(dòng)程序(釋放當(dāng)前示例并重新創(chuàng)建ECS示例后同樣只需要輸入該命令)
bash webui.sh --listen
?
隨后便可以在瀏覽器利用服務(wù)器公網(wǎng)IP+端口的訪問了。
?
?
6.?擴(kuò)展插件(非必須,但是強(qiáng)烈推薦)
完成前五步之后,我們已經(jīng)可以愉快地使用Prompt進(jìn)行繪制了,但由于Stable Diffusion以及其Webui開源的特性,社區(qū)中涌現(xiàn)出了許多實(shí)用的插件以及顛覆性的技術(shù)(人民群眾的力量是無窮的),在Extensions條目中我們可以看到已安裝的插件,新版webui已經(jīng)內(nèi)置了一些實(shí)用插件,例如Lora。
?


點(diǎn)擊extensions可以看到已經(jīng)安裝并識(shí)別出的擴(kuò)展插件
點(diǎn)擊extensions下的Avaliable可以一鍵安裝支持的插件(如果有梯子)
?
這里我選擇安裝了兩個(gè)插件,一個(gè)是大名鼎鼎的controlnet,另一個(gè)是可以編輯3D骨骼的插件。
?