2 Star 0 Fork 0

HuaweiCloudDeveloper / huaweicloud-solution-functiongraph-stablediffusion-resolution

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

huaweicloud-solution-functiongraph-stablediffusion-resolution

简介

FG-SD是一个服务托管解决方案,包含四个服务组件(APIG/FunctionGraph),可以实现函数托管,帮助用户快速构建过华为云FunctionGraph,可以快速访问 Stable DiffusionWebUI界面绘图,实现文生图、图生图等功能。

创建资源

创建ECS

购买2台ECS,部署在同一VPC下,一台ECS做为web服务端,一台服务器做为用户绘图数据存储(需共享指定文件夹,做为函数挂载文件夹)

创建数据库

购买华为云RDS快速构建,按需选择规格,默认端口3306,创建sd_manager三个数据库

服务安装

前置条件

  • 操作系统:CentOS 7.6 64bit

  • 实例最低配置:2U4G

  • 安装git

 yum -y install git

前端组件

环境安装

安装 nodejs

wget https://nodejs.org/download/release/v16.13.1/node-v16.13.1-linux-x64.tar.gz
tar xf node-v16.13.1-linux-x64.tar.gz
mv node-v16.13.1-linux-x64 /usr/local/

新建并修改 node.sh 文件

vi /etc/profile.d/node.sh

设置环境变量

export NODE_HOME=/usr/local/node-v16.13.1-linux-x64
export PATH=${NODE_HOME}/bin:$PATH

执行脚本使环境变量生效

chmod +x /etc/profile.d/node.sh
source /etc/profile.d/node.sh

安装 vue

npm install -g @vue/cli

安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

下载 PCRE 安装包

cd /usr/local/src/ || exit
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz

编译安装

cd pcre-8.35 || exit
./configure
make && make install

安装 Nginx

cd /usr/local/src/ || exit
wget http://nginx.org/download/nginx-1.7.8.tar.gz
tar zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8 || exit

编译安装到/usr/local/webserver/nginx

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make
make install

替换 /usr/local/webserver/nginx/conf/nginx.conf 为以下内容,替换proxy_pass的地址为后端服务器IP

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  300;
    client_max_body_size 6g;
    server {
        listen       80;
        server_name  localhost;

        location /api/ {
            proxy_pass https://127.0.0.1:8080/;
        }

        location / {
                root html;
                try_files $uri /index.html;
                index index.html;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

打包部署

拉取前端代码

cd /usr/local
git clone -b master-dev  ***

在代码根目录下运行 npm install 命令,安装项目所需要的依赖

npm install

在根目录下安装 vue 国际化插件

npm install --save vue-i18n@next

在代码根目录下运行 npm run build 命令,将项目编译打包至根目录的 dist 文件夹下。

npm run build

把 dist 目录下的所有文件都复制到 nginx 网站根目录 /usr/local/webserver/nginx/html 下

配置 nginx 开机自启动,在/lib/systemd/system/目录下创建 nginx.service 文件

vi /lib/systemd/system/nginx.service

在该文件中添加如下内容

[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/webserver/nginx/sbin/nginx
ExecReload=/usr/local/webserver/nginx/sbin/nginx -s reload
ExecStop=/usr/local/webserver/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

设置文件的执行权限

chmod a+x /lib/systemd/system/nginx.service

设置开机自启动

systemctl enable nginx.service

启动nginx服务

systemctl start nginx.service

浏览器输入该ECS绑定的ip地址即可访问FG_SD前端界面,或输入: http://{ipv4}:80

后端组件

环境安装

  • 版本要求:python3.6及以上版本
  • 安装python

拉取代码

cd /usr/local
git clone -b master  ***

安装python依赖包

pip install -r requirements.txt

修改config.ini配置

[RDS]
NAME=
USER=
PASSWORD=
HOST=
PORT=

[ECS]
HOST=
PORT=
USERNAME=
PASSWORD=
FILE_BASE_DIR=

[DINGDING]
APPKEY=
APPSECRET=

[DOMAIN]
AK=
SK=
NAME=
PASSWORD=
DOMAINID=
PROJECT_ID=
REGION=
AGENT=

[APIG]
APIG_INSTANCE=

[VPC]
VPC_NAME=
VPC_ID=
SUBNET_NAME=
SUBNET_ID=
CIDR=
GATEWAY=

[SWR]
IMAGE=

[MOUNT]
ECS_ID=
ECS_MOUNT_PATH=
MOUNT_PATH=

[OBS]
ENDPOINT=
BUCKET_NAME=

启动后端服务

python manage.py runserver 0.0.0.0:8080 &

空文件

简介

该解决方案基于华为云帮助用户快速搭建FunctionGraph应用管理平台,实现Stable Diffusion应用模型库、图片库管理。 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/HuaweiCloudDeveloper/huaweicloud-solution-functiongraph-stablediffusion-resolution.git
git@gitee.com:HuaweiCloudDeveloper/huaweicloud-solution-functiongraph-stablediffusion-resolution.git
HuaweiCloudDeveloper
huaweicloud-solution-functiongraph-stablediffusion-resolution
huaweicloud-solution-functiongraph-stablediffusion-resolution
master-dev

搜索帮助