# huaweicloud-solution-building-high-availability-aigc-applications-with-stable-diffusion **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-building-high-availability-aigc-applications-with-stable-diffusion ## Basic Information - **Project Name**: huaweicloud-solution-building-high-availability-aigc-applications-with-stable-diffusion - **Description**: 基于弹性云服务器 ECS使用开源Stable Diffusion构建AIGC应用 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-05-23 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案可以帮助您在华为云弹性云服务器 ECS上基于Stable Diffusion构建高可用AIGC Web应用。Stable diffusion是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,能够根据输入文本和图像生成高质量图像。 解决方案实践详情页面:https://www.huaweicloud.com/solution/implementations/building-high-availability-aigc-applications-with-stable-diffusion.html **架构图** --------------- ![方案架构](./document/building-high-availability-aigc-applications-with-stable-diffusion.png) **架构描述** --------------- 该解决方案会部署如下资源: 1. 创建两台Linux GPU加速型弹性云服务器 ECS,用于搭建AIGC应用系统。 2. 创建三个弹性公网IP EIP,分别绑定到两个到服务器及弹性负载均衡 ELB,用于提供访问公网和被公网访问能力。 3. 部署一个弹性负载均衡 ELB,用于业务流量跨可用区进行分发。 4. 创建安全组,通过配置安全组规则,为弹性云服务器 ECS提供安全防护。 5. 创建一个对象存储服务 OBS桶,用于保存生成的图片文件。 6. 在两台Linux弹性云服务器 ECS上分别完成Stable Diffusion WebUI应用、inotify-tools工具安装,以及对象存储服务 OBS obsutil工具安装,用于自动上传备份在页面上保存的图片。 **组织结构** --------------- ``` lua huaweicloud-solution-building-high-availability-aigc-applications-with-stable-diffusion ├──huaweicloud-solution-building-high-availability-aigc-applications-with-stable-diffusion.tf.json -- 资源编排模板 ├── userdata ├── aigc-applications-ap-southeast-3.sh -- 脚本配置文件(新加坡) ├── aigc-applications-cn-north-4.sh -- 脚本配置文件(北京四) ``` **开始使用** --------------- 1、进入弹性负载均衡控制台,在左侧导航栏单击“后端服务器组”单击“名称”选择“后端服务器”查看服务器状态是否正常。(说明:按照默认参数资源部署完成,20分钟后业务初始化完成,后端服务器7860端口状态正常。) 图1 后端服务器组 ![后端服务器组](./document/readme-image-001.png) 图2 查看服务器状态 ![查看服务器状态](./document/readme-image-002.png) 2、查看快速部署 步骤3.2-9访问说明,访问AIGC web UI界面。单击“txt2img”在提示词框中填写提示词,单击“Generate”生成图像,待图像生成完成后,单击保存。Stable diffusion web UI 界面的详细使用说明,请访问开源项目stable diffusion webui或者查询网络相关教程获取。本方案新建aigc用户,默认密码为aigc@123 。 图3 AIGC WebUI应用界面 ![AIGC WebUI应用界面](./document/readme-image-003.png) ``` 提示词示例: Arches National Park,under the rock,in the evening,nightsky,reality infused with dreams,upscaled,triadic color scheme,epic composition,CG digital rendering,Studio Ghibli,unreal engine,atmospheric,omit the people, ``` 3、进入对象存储服务控制台单击方案创建的OBS桶进入,即可查看步骤2中保存的图片,还可以通过"分享"按钮,分享图片。更多OBS功能请查看对象存储服务 OBS用户指南对象管理文档。 图4 对象存储服务桶列表 ![对象存储服务桶列表](./document/readme-image-004.png) 图5 查看保存的图片 ![查看保存的图片](./document/readme-image-005.png) 4、(可选)界面汉化插件安装,进入界面后依次单击 extension 选项卡,Install from URL 子选项卡,复制 git 仓库网址:https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN (国内region使用此网址: http://ghproxy.com/https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN ),单击 install 即可安装完成。 图6 安装汉化插件 ![安装汉化插件](./document/readme-image-006.png) 5、(可选)界面汉化插件配置,在 Settings 选项卡,点击 页面右上角的 橙色 Reload UI 按钮 刷新扩展列表,在 Extensions 选项卡,确定已勾选汉化扩展插件☑️,如未勾选,勾选后点击橙色按钮启用汉化扩展。 图7 重载UI界面 ![重载UI界面](./document/readme-image-007.png) 图8 启用汉化扩展 ![启用汉化扩展](./document/readme-image-008.png) 6、(可选)界面汉化插件使用,在 Settings 选项卡中,选择 User interface 子选项 ,选择 Localization (requires restart UI) ,在下拉框选中 zh_CN (如果没有单击🔄按钮),依次单击 Apply settings 按钮 保存设置,Reload UI 按钮 重启webUI。即可完成汉化。 图9 使用汉化扩展 ![使用汉化扩展](./document/readme-image-009.png) 图10 汉化完成 ![汉化完成](./document/readme-image-010.png) ``` 本方案配置使用inotify-tools和对象存储服务 OBS obsutil工具,并设置了开机自启动,实现将您在web UI界面保存的图片自动上传到对象存储服务OBS桶。您也可以在浏览器单击鼠标右键选择另存为保存图片。服务开机自启动,重启机器后无需任何操作即可使用此AIGC应用。 服务启动命令示例: 前台启动 cd /home/aigc && sudo -u aigc bash -c "source /home/aigc/webui.sh --listen --port 7860 --api --enable-insecure-extension-access" 后台启动 cd /home/aigc && sudo -u aigc bash -c "source /home/aigc/webui.sh --listen --port 7860 --api --enable-insecure-extension-access &" >> /home/aigc/aigc-applications.log (日志保存路径可根据需要自行修改) ```