Digital Ocean


创建虚拟机实例

在本节中,我们将创建一个虚拟机实例(Droplet)。如需更多信息,请参阅官方指南

  1. 首先,从下拉菜单中点击Droplets

  1. 选择数据区域和每月6美元的基础型虚拟机实例类型

  1. 选择身份验证方法。在本例中,我们将使用密码

  1. 过一会儿,你应该能看到你的水滴已成功创建

如何连接到您的虚拟机

对于Windows系统,请遵循此指南

对于Mac/Linux系统,请按照此指南进行操作。

安装Docker

  1. 使用curl命令从get.docker.com网站下载get-docker.sh脚本,并使用-o参数指定脚本的保存路径

  2. 使用sudo命令执行get-docker.sh脚本

  3. 安装docker-compose:

使用sudo命令,通过curl下载“https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)”文件,并将下载的文件保存到/usr/local/bin/docker-compose目录中
  1. 设置权限:

使用sudo命令为/usr/local/bin/docker-compose添加可执行权限

设置

  1. 克隆仓库

git clone https://github.com/FlowiseAI/Flowise.git
  1. 进入docker文件夹

进入Flowise目录 && 进入docker目录
  1. 创建一个 .env 文件。你可以使用你喜欢的编辑器。我将使用 nano

nano .env
  1. 指定环境变量:

端口=3000
数据库路径=/root/.flowise
SECRETKEY_PATH=/root/.flowise
日志路径=/root/.flowise/logs
BLOB_STORAGE_PATH=/root/.flowise/storage
  1. 然后按Ctrl + X退出,按Y保存文件

  2. 运行docker compose

docker compose up -d
  1. 然后,您可以查看该应用程序:“您的公共IPv4 DNS”:3000。示例:176.63.19.226:3000

  2. 你可以通过以下方式关闭应用程序:

docker compose 停止
  1. 您可以通过以下方式获取最新镜像:

docker 拉取 flowiseai/flowise 镜像

添加反向代理和SSL

反向代理是将应用服务器暴露给互联网的推荐方法。它使我们能够仅通过URL连接到我们的虚拟机实例,而无需使用服务器IP和端口号。这样做的好处包括:将应用服务器与直接互联网访问隔离开来,从而提高了安全性;能够集中进行防火墙保护;对于常见的威胁(如拒绝服务攻击)而言,攻击面被最小化;最重要的是,对于我们的目的而言,能够在单个位置终止SSL/TLS加密。

如果您的Droplet上没有SSL,那么在现代浏览器中,可嵌入的小部件和API端点将无法访问。这是因为浏览器已经开始弃用HTTP而转向HTTPS,并会阻止来自HTTPS加载页面的HTTP请求。

步骤1 — 安装Nginx

  1. Nginx可通过默认仓库使用apt进行安装。请更新您的仓库索引,然后安装Nginx:

sudo apt 更新
使用sudo命令安装nginx

按 Y 确认安装。如果系统要求您重新启动服务,请按 ENTER 接受默认设置。

  1. 您需要通过防火墙允许访问Nginx。在根据初始服务器先决条件设置好服务器后,使用ufw添加以下规则:

使用sudo命令允许ufw(防火墙)通过“Nginx HTTP”
  1. 现在你可以验证Nginx是否正在运行:

systemctl status nginx

输出:

● nginx.service - 一个高性能的Web服务器和反向代理服务器
     已加载:已加载(/lib/systemd/system/nginx.service;已启用;供应商预设:已启用)
     活动状态:自2022年8月29日(星期一)06:52:46(协调世界时)起处于活动状态(正在运行);39分钟前
       文档:man:nginx(8)
   主进程ID:9919(nginx)
      任务数:2(限制:2327)
     内存:290万
        CPU:50毫秒
     CGroup:/system.slice/nginx.service
             ├─9919 "nginx: 主进程 /usr/sbin/nginx -g daemon on; master_process on;"
             └─9920 “nginx:工作进程

接下来,您将添加一个包含您的域名和应用服务器代理的自定义服务器块。

步骤2 — 配置您的服务器块和DNS记录

建议的做法是为新添加的服务器块创建自定义配置文件,而不是直接编辑默认配置。

  1. 使用nano或您偏好的文本编辑器创建并打开一个新的Nginx配置文件:

使用sudo命令打开/etc/nginx/sites-available/your_domain文件
  1. 将以下内容插入到你的新文件中,确保将your_domain替换为你自己的域名:

服务器 {
    监听80端口;
    监听 [::]:80;
    server_name your_domain; #示例:demo.flowiseai.com
    位置 / {
        代理转发至 http://localhost:3000;
        代理HTTP版本1.1;
        设置主机头为$host;
        设置代理头信息,将Upgrade字段设置为$http_upgrade;
        proxy_set_header Connection 'upgrade';;
        proxy_cache_bypass $http_upgrade;;
    }
}
  1. 保存并退出,使用nano时,可以通过按下CTRL+O,然后按下CTRL+X来完成此操作。

  2. 接下来,通过在Nginx启动时读取的sites-enabled目录中创建一个指向此配置文件的链接来启用它,再次确保将your_domain替换为您自己的域名:

使用sudo命令,将/etc/nginx/sites-available/your_domain链接到/etc/nginx/sites-enabled/
  1. 现在,您可以测试配置文件是否存在语法错误:

使用sudo命令运行nginx的测试命令
  1. 如未报告任何问题,请重启Nginx以应用您的更改:

sudo systemctl 重启 nginx
  1. 前往你的DNS提供商,并添加一个新的A记录。记录的名称将是你自己的域名,记录的值将是你虚拟机(droplet)的公共IPv4地址

Nginx现已配置为应用服务器的反向代理。现在,您应该能够打开应用程序:http://yourdomain.com。

步骤 3 — 为 HTTPS (SSL) 安装 Certbot

如果你想为你的虚拟机(Droplet)添加一个安全的https连接,例如https://yourdomain.com,你需要执行以下步骤:

  1. 要在NGINX上安装Certbot并启用HTTPS,我们需要使用Python。因此,首先,让我们来设置一个虚拟环境:

使用apt安装python3.10-venv
使用sudo命令,在/opt/certbot/目录下运行python3 -m venv
使用sudo命令执行以下操作:/opt/certbot/bin/pip install --upgrade pip
  1. 之后,运行以下命令来安装Certbot:

使用sudo命令执行以下操作:/opt/certbot/bin/pip install certbot certbot-nginx
  1. 现在,执行以下命令以确保certbot命令可以运行:

使用sudo命令将/opt/certbot/bin/certbot链接到/usr/bin/certbot
  1. 最后,运行以下命令获取证书,并让Certbot自动修改NGINX配置,启用HTTPS:

使用sudo运行certbot命令,并指定使用nginx作为web服务器
  1. 完成证书生成向导后,我们将能够通过HTTPS使用地址https://yourdomain.com访问我们的虚拟机

设置自动续订

为了让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`

恭喜!

您已成功在您的云滴上设置了Flowise,并且您的域名上已安装了SSL证书🥳

在Digital Ocean上更新Flowise的步骤

  1. 导航至你安装flowise的目录

进入Flowise/docker目录
  1. 停止并删除Docker镜像

注意:由于数据库存储在单独的文件夹中,因此此操作不会删除您的流程

使用sudo命令停止docker compose
使用sudo命令执行docker compose的rm操作
  1. 拉取最新的Flowise镜像

你可以在这里查看最新版本发布信息

docker 拉取 flowiseai/flowise 镜像
  1. 启动Docker

docker compose up -d

Last updated