Linux云计算人工智能

为 Stable Diffusion WebUI 创建 Linux 下自动启动服务【原创文章】

最近在玩Stable Diffusion,发现其运行在Linux下面似乎效率更好,但是stable-diffusion-webui的Github没有明确的提及如何创建Stable Diffusion WebUI for Linux Service。所以自己花了些时间研究了下,跟大家分享一下结果。

[本文为AndyX.Net原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明!]

为 Stable Diffusion WebUI 创建 Linux 下自动启动服务【原创文章】插图

[本人中所有涉及到的实验均在 Azure VM 中进行配置,同样适用于其他云环境的虚拟机]

[如果本文章帮助到了您,请Feel free在文章末尾打赏作者,感谢!]

 

  • 测试环境:Azure VM – Standard NC6s v3 (6 vcpus, 112 GiB memory, NVDIA V100 GPU with 16G RAM)
  • 测试操作系统:Ubuntu 22.04 Gen2
  • SD路径:/ai/stable-diffusion-webui/
  • 启动文件:webui.sh
  • 启动参数:–api

 

在搭建好Stable Diffusion WebUI for Linux之后,可以使用vi命令创建服务/etc/systemd/system/sdwebui.service,然后将以下内容修改并粘贴进去:

[Unit]
Description=Stable Diffusion AUTOMATIC1111 Web UI service - Build by AndyX.Net
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=andyx.net    ##//注意更改用户名
ExecStart=/bin/bash /ai/stable-diffusion-webui/webui.sh --api      ##//注意更改路径
WorkingDirectory=/ai/stable-diffusion-webui/      ##//注意更改路径
StandardOutput=append:/var/log/sdwebui.log
StandardError=append:/var/log/sdwebui.log


[Install]
WantedBy=multi-user.target

 

或者使用EOF直接导入服务,注意修改路径和用户名:

sudo tee /etc/systemd/system/sdwebui.service << EOF

[Unit]
Description=Stable Diffusion AUTOMATIC1111 Web UI service - Build by AndyX.Net
After=network.target
StartLimitIntervalSec=0
 
[Service]
Type=simple
Restart=always
RestartSec=1
User=andyx.net     ##//注意更改用户名
ExecStart=/bin/bash /ai/stable-diffusion-webui/webui.sh --api      ##//注意更改路径
WorkingDirectory=/ai/stable-diffusion-webui/      ##//注意更改路径
StandardOutput=append:/var/log/sdwebui.log
StandardError=append:/var/log/sdwebui.log

[Install]
WantedBy=multi-user.target


EOF

 

其他SD启动参数建议:

--listen    ##允许外部网络访问
--port 12345    ##更改默认端口
--gradio-auth USERNAME:PASSWORD    ##启用WEB访问账号和密码
--enable-insecure-extension-access  ##启用第三方插件

更多参数请参见:https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN/wiki/%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E5%92%8C%E8%AE%BE%E7%BD%AE

 

重新载入该服务并启动服务:

systemctl daemon-reload
systemctl start sdwebui.service
systemctl status sdwebui.service

 

服务启动结果如下图:

为 Stable Diffusion WebUI 创建 Linux 下自动启动服务【原创文章】插图1

 

另外赠送一个提示词,结果请参考本文Banner:

(masterpiece, epic quality, ultra detailed, beautiful and aesthetic:1.2), ((full body:1.3)), a cyborg boy warrior in a cryochamber, detailed face and detailed eyes, mechanical samurai, ronin, huge armor and cloak, red armor, huge armor, red mechanical parts, blue glow, elegant, male robot cyborg, corporate model, corporate logos on arms, detailed mechanical parts, glossy hard steel, scifi materials,advanced electronics, best quality, biomechanical, complex robot, hyper realistic, (hyper detailed:1.25), intricate, (insane fine details:1.1), Extremely sharp lines, scifi aesthetic, expressionless,(wires and cables attaching to neck:1.2),(wires and cables on head:1.2),science fiction,8K RAW photo <lora:insanobot:0.85>, <lora:Niji:0.5>
Negative prompt: (bad hands), busty, breasts, cartoon, 3d, (disfigured), (bad art), (deformed), (poorly drawn), (extra limbs), strange colours, blurry, boring, sketch, lacklustre, repetitive, cropped, (split screen:1.25), headphones
Steps: 30, Sampler: Euler a, CFG scale: 10, Seed: 905828940, Size: 1366x512, Model hash: 6b7cc6e89b, Model: lunarDiffusion_v128, Lora hashes: "insanobot: c7de08094c2a, Niji: 492d6878f85a", Version: v1.5.1

 

(全文完)

 

文章撰写:作者AndyX,来自AndyX.Net

文章遵循 CC 4.0 BY-SA 版权协议,若需转载本文,请标注来源与链接:原创内容AndyX.Net版权所有

本文地址:为 Stable Diffusion WebUI 创建 Linux 下自动启动服务【原创文章】 – AndyX.Net – 安迪克斯