AWS
先决条件
这需要对AWS(亚马逊网络服务)的工作原理有一些基本的了解。
在AWS上部署Flowise有两种选择:
使用CloudFormation在ECS上进行部署
CloudFormation模板可在此处获取:https://gist.github.com/MrHertal/549b31a18e350b69c7200ae8d26ed691
它在通过负载均衡(ELB)暴露的弹性计算服务(ECS)集群上部署了Flowise。
该架构的灵感来源于以下参考架构:https://github.com/aws-samples/ecs-refarch-cloudformation
请随意编辑此模板,以适应Flowise图像版本、环境变量等不同情况。
使用AWS CLI部署Flowise的命令示例:
使用AWS CloudFormation创建堆栈,堆栈名称为flowise,模板文件为flowise-cloudformation.yml,功能为CAPABILITY_IAM部署完成后,您可以在CloudFormation堆栈输出中找到Flowise应用程序的URL。
使用Terraform在ECS上进行部署
Terraform文件(variables.tf、main.tf)可在以下GitHub仓库中找到:terraform-flowise-setup。
此设置在通过应用程序负载均衡器(ALB)暴露的ECS集群上部署了Flowise。它基于AWS针对ECS部署的最佳实践。
您可以修改Terraform模板以进行调整:
Flowise图像版本
环境变量
资源配置(CPU、内存等)
部署示例命令:
初始化Terraform:
初始化Terraform
执行Terraform应用
Terraform 销毁启动EC2实例
在EC2控制面板中,点击“启动实例”

向下滚动,如果您没有密钥对,请创建新的密钥对

填写您偏好的密钥对名称。对于Windows,我们将使用“.ppk”和PuTTY来连接到实例。对于Mac和Linux,我们将使用“.pem”和OpenSSH

点击 创建密钥对,并选择一个保存
.ppk文件的位置路径打开左侧边栏,从“安全组”中新建一个标签页。然后点击“创建安全组”

填写您首选的安全组名称和描述。接下来,将以下内容添加到入站规则中,并创建安全组

返回第一个选项卡(EC2 启动实例)并向下滚动至 网络设置。选择您刚刚创建的安全组

点击 启动实例。返回EC2控制面板,几分钟后我们应该能看到一个新的实例已启动并正在运行🎉

如何连接到您的实例(Windows)
对于Windows系统,我们将使用PuTTY。您可以从这里下载。
打开PuTTY,并将HostName填写为您的实例的公共IPv4 DNS名称

在PuTTY配置界面的左侧栏中,展开SSH选项,然后点击认证。点击浏览,选择你之前下载的
.ppk文件。

点击“打开”并“接受”弹出消息

然后以“ec2-user”的身份登录

现在你已经连接到EC2实例了
如何连接到您的实例(Mac和Linux)
在你的Mac/Linux系统上打开终端应用程序。
_(可选)_设置私钥文件的权限以限制对其的访问:
将 /path/to/mykey.pem 文件的权限设置为 400(即仅用户可读写)使用
ssh命令连接到您的EC2实例,指定用户名(ec2-user)、公共IPv4 DNS地址以及.pem文件的路径。
使用 /Users/username/Documents/mykey.pem 密钥文件通过 SSH 连接到 [email protected]按Enter键,如果配置正确,您应该能够成功建立与EC2实例的SSH连接
安装Docker
使用yum命令应用待处理的更新:
使用sudo命令更新yum包搜索Docker包:
使用sudo权限通过yum搜索docker获取版本信息:
使用sudo命令查询yum中关于docker的信息安装docker,运行:
使用sudo权限通过yum安装docker为默认的ec2-user添加组成员身份,以便您无需使用sudo命令即可运行所有docker命令:
使用sudo命令,将用户ec2-user添加到docker组中
id ec2-user
将所属组更改为docker安装docker-compose:
使用sudo命令通过yum安装docker-compose插件在AMI启动时启用docker服务:
使用sudo命令启用docker.service服务启动Docker服务:
使用sudo命令启动docker服务安装Git
使用sudo命令通过yum安装git,并使用-y参数(表示“yes”或“yes to all”)设置
克隆仓库
使用Git克隆https://github.com/FlowiseAI/Flowise.git进入docker文件夹
进入Flowise目录 && 进入docker目录创建一个
.env文件。你可以使用你喜欢的编辑器。我将使用nano
nano .env
指定环境变量:
端口=3000
数据库路径=/root/.flowise
SECRETKEY_PATH=/root/.flowise
日志路径=/root/.flowise/logs
BLOB_STORAGE_PATH=/root/.flowise/storage然后按
Ctrl + X退出,按Y保存文件运行docker compose
docker compose up -d您的应用程序已在端口3000的公共IPv4 DNS上准备就绪:
http://ec2-123-456-789.compute-1.amazonaws.com:3000你可以通过以下方式关闭应用程序:
docker compose 停止您可以通过以下方式获取最新镜像:
docker 拉取 flowiseai/flowise 镜像或者:
docker-compose 拉取镜像
docker-compose up --build -d使用NGINX
如果你希望去掉URL中的“:3000”并使用自定义域名,你可以使用NGINX将80端口反向代理到3000端口。这样,用户就可以通过你的域名来打开应用。示例:http://yourdomain.com。
Bash脚本 使用sudo命令通过yum安装nginx
Bash脚本 查询Nginx版本
sudo systemctl start nginxsudo nano /etc/nginx/conf.d/flowise.conf复制粘贴以下内容,并替换为您的域名:
/// 译文内容:
---
根据上面的信息,执行如下指令:
您想翻译的文本可能是一段代码或命令,由于缺乏上下文,无法给出准确的中文翻译。请提供更多信息或上下文,以便我能够给出更准确的翻译
服务器 {
监听80端口;
监听[::]:80;
server_name yourdomain.com; #示例:demo.flowiseai.com
位置 / {
代理服务器转发至 http://localhost:3000;
代理HTTP版本1.1;
设置主机头为$host;
设置代理头信息,将Upgrade字段设置为$http_upgrade;
设置代理头 Connection 为 'upgrade';
proxy_cache_bypass $http_upgrade;;
设置代理头X-Real-IP为$remote_addr;
设置代理头X-Forwarded-For为$proxy_add_x_forwarded_for;
设置代理头X-Forwarded-Proto为$scheme;
}
}按Ctrl + X退出,按Y保存文件
Bash脚本 sudo systemctl 重启 nginx
前往你的DNS提供商,并添加一个新的A记录。名称将是你自己的域名,值将是EC2实例的公共IPv4地址

现在,你应该能够打开这个应用:
http://yourdomain.com。
安装Certbot以启用HTTPS
如果你希望你的应用使用“https://yourdomain.com”,请按照以下步骤操作:
为了在NGINX上安装Certbot并启用HTTPS,我们需要使用Python。因此,首先,让我们来设置一个虚拟环境:
使用sudo命令,在/opt/certbot/目录下运行python3 -m venv
使用sudo命令执行以下操作:/opt/certbot/bin/pip install --upgrade pip之后,运行以下命令来安装Certbot:
使用sudo命令执行以下操作:在/opt/certbot/bin/目录下,使用pip安装certbot和certbot-nginx现在,执行以下命令以确保
certbot命令可以运行:
使用sudo命令将/opt/certbot/bin/certbot链接到/usr/bin/certbot最后,运行以下命令以获取证书,并让Certbot自动修改NGINX配置,启用HTTPS:
使用sudo运行certbot命令,并指定使用nginx作为web服务器完成证书生成向导后,我们将能够使用地址
https://yourdomain.com通过HTTPS访问我们的EC2实例
设置自动续订
为了让Certbot能够自动续订证书,只需运行以下命令添加一个cron作业即可:
将以下命令输出到/etc/crontab文件,并重定向到/dev/null:`echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null`恭喜!
您已在域上带有SSL证书的EC2实例上成功安装了Flowise应用程序🥳
Last updated