Lazy loaded image
小白也能搞定!手把手教你把 Flow2API 部署到 Google Cloud Platformb
字数 2620阅读时长 7 分钟
2026-3-17
type
Post
status
Published
date
Mar 17, 2026 11:18 PM
slug
flow2api-gcp-deployment
summary
本文基于实际部署经验,记录了将 Flow2API 项目部署到 GCP 的完整过程,包括踩过的坑和解决方案。即使你是零基础,跟着做也能成功。
tags
AIGC
感悟
AI绘图
Gemini
Nano Banana Pro
Flow
category
技术分享
icon
fas fa-tag
password
本文基于实际部署经验,记录了将 Flow2API 项目部署到 GCP 的完整过程,包括踩过的坑和解决方案。即使你是零基础,跟着做也能成功。

📋 目录

  1. 最终效果
  1. 前置准备
  1. 安装并配置 gcloud CLI
  1. 创建 GCP 项目
  1. 创建虚拟机(VM)
  1. 配置防火墙
  1. SSH 连接到 VM
  1. 安装 Docker 和 Git
  1. 拉取代码并构建镜像
  1. 配置并启动服务
  1. 配置域名和 HTTPS
  1. 绑定静态 IP
  1. 日常维护
  1. 费用说明
  1. 踩坑记录

最终效果

部署完成后的架构:
组件
配置
云服务商
Google Cloud Platform
虚拟机
Compute Engine e2-medium(2 vCPU / 4GB)
操作系统
Ubuntu 22.04 LTS
服务
Flow2API Docker 容器
反向代理
Nginx(80 → 8000)
HTTPS
Cloudflare Flexible SSL
验证码
YesCaptcha 第三方打码
最终通过 https://your-subdomain.yourdomain.com 访问服务,管理后台和 API 一切正常。

前置准备

在开始之前,你需要准备:
  • ✅ Google 账号 — 用于访问 GCP
  • ✅ 信用卡/借记卡 — GCP 需要绑定支付方式(新用户有 $300 免费额度)
  • ✅ 一个域名(可选)— 推荐在 Cloudflare 托管
  • ✅ YesCaptcha 账号 — 注册 YesCaptcha 并充值(10 元即可)

第一步:安装并配置 gcloud CLI

下载安装

前往 Google Cloud SDK 安装页面 下载安装包。
⚠️ Windows 用户注意:如果安装在非默认路径,需要手动将 bin 目录添加到系统 PATH。

初始化登录

按提示操作:
  1. 浏览器会自动打开,登录你的 Google 账号
  1. 选择或创建项目
  1. 选择默认区域(后面会详细说明)

第二步:创建 GCP 项目

在网页端创建

  1. 打开 GCP 控制台
  1. 顶部项目下拉菜单 → 新建项目
  1. 填写项目名称,记下项目 ID

设置默认区域

  1. 进入 Compute Engine 设置
  1. 首次打开会提示启用 Compute Engine API,点击启用
  1. 设置默认区域和地区
区域选择建议
区域
位置
适合场景
us-central1
🇺🇸 美国中部
价格最便宜
asia-east1
🇹🇼 台湾
亚洲用户延迟最低
asia-northeast1
🇯🇵 东京
亚洲备选

在 CLI 中切换项目


第三步:创建虚拟机

参数说明
参数
说明
e2-medium
2 vCPU + 4GB 内存,够用且经济
30GB
磁盘空间,Docker 镜像较大需要充足空间
ubuntu-2204-lts
Ubuntu 22.04,Docker/Git 安装方便
flow2api-server
网络标签,用于防火墙规则
💡 显示 Disk size: '30 GB' is larger than image size: '10 GB' 的警告可以忽略,Ubuntu 会自动扩展分区。
创建成功后,记下输出的 EXTERNAL_IP

第四步:配置防火墙

⚠️ 0.0.0.0/0 表示允许所有 IP 访问。生产环境建议限制来源 IP。

第五步:SSH 连接到 VM

  • 首次连接会自动创建 SSH 密钥
  • Windows 系统会自动打开 PuTTY 窗口
  • 看到 用户名@flow2api-vm:~$ 就表示连接成功了
💡 后续也可以通过 GCP 控制台的网页 SSH 连接,手机浏览器也能操作!

第六步:安装 Docker 和 Git

以下命令均在 VM 的 SSH 会话中执行:

第七步:拉取代码并构建镜像

⚠️ 构建过程中看到 A new release of pip is available 提示可以忽略,这是容器内部的提示,不影响使用。
为什么在 VM 上构建而不是本地?
直接在 VM 上 git clone + docker build 的好处:
  1. 不依赖本地 Docker,也不受国内网络限制
  1. 以后更新只需 git pull + 重新构建
  1. 手机上也能 SSH 进来操作

第八步:配置并启动服务

创建数据目录

创建配置文件

需要修改的关键配置
修改完毕后,Ctrl+O 保存,Ctrl+X 退出。
⚠️ 踩坑提醒:如果自定义密码导致登录失败,可以先将 admin_username 和 admin_password 都设为 "admin",删除数据库文件后重启:

启动容器

验证

浏览器访问 http://你的VM外部IP:8000 应该可以看到管理后台。

第九步:配置域名和 HTTPS

如果你没有域名,可以跳过此步,直接用 http://IP:8000 访问。

安装 Nginx 反向代理(在 VM 上执行)

记得将 your-subdomain.yourdomain.com 替换为你的实际域名!

配置 Cloudflare

  1. 登录 Cloudflare Dashboard
  1. 选择你的域名 → DNS → Add Record
  1. 添加 A 记录:
字段
Type
A
Name
你的二级域名(如 api
IPv4
你的 VM 外部 IP
Proxy status
橙色云朵(Proxied)
  1. 左侧 SSL/TLS → Overview → 加密模式选 Flexible
等待 1-2 分钟 DNS 生效,访问 https://your-subdomain.yourdomain.com 即可看到 HTTPS 小锁 🔒

第十步:绑定静态 IP

VM 默认分配的是临时 IP,停止再启动后 IP 会变,需要重新修改 DNS。绑定静态 IP 可以一劳永逸。
⚠️ 注意 --access-config-name 的值是 external-nat(小写带连字符),不是 External NAT
查看新 IP:
最后去 Cloudflare 将 A 记录更新为新的静态 IP。此后无论怎么停启 VM,IP 都不会变了。

日常维护

更新代码并重新部署

查看日志

手机管理 VM

两种方式:
  1. Google Cloud AppAndroid / iOS,一键启停 VM
  1. 手机浏览器:打开 console.cloud.google.com/compute,勾选 VM → 启动/停止
💡 由于设了 --restart unless-stopped,VM 启动后容器会自动运行,不需要手动操作。

费用说明

资源
月费估算
Compute Engine (e2-medium)
~$25
磁盘 (30GB)
~$3
静态 IP(使用中)
免费
静态 IP(VM 停止时未使用)
~$7
Cloudflare
免费
常开合计
~$28/月
💡 GCP 新用户有 $300 免费额度(90 天有效期),足够运行大约 10 个月。

省钱建议

  • 服务不是 24/7 需要的话,不用时停止 VM,只收磁盘费 $3/月
  • 每次 VM 启动会触发一次验证码打码,消耗 YesCaptcha 额度。如果使用频繁,建议让 VM 常驻运行
  • e2-medium(4GB 内存)对于标准模式(非有头浏览器)完全够用

踩坑记录

问题
原因
解决方案
gcloud 命令找不到
安装在自定义路径,未加入 PATH
手动添加 bin 目录到系统 PATH
本地 docker build 无法拉取基础镜像
国内网络无法连接 Docker Hub
改为在 GCP VM 上直接构建
创建仓库报 ALREADY_EXISTS
仓库已经存在
不是错误,可以忽略
自定义密码后登录失败
密码特殊字符导致 TOML 解析异常
重置为默认密码 + 删除 db 文件
浏览器显示「不安全」
直接用 IP:8000 无 HTTPS
Nginx 反向代理 + Cloudflare SSL
delete-access-config 报错
access config 名称是 external-nat 而非 External NAT
使用正确的小写名称

打码方式对比

方式
需要 Dockerfile.headed
说明
yescaptcha
第三方打码服务,推荐
capmonster
第三方打码,YesCaptcha 替代
ezcaptcha
第三方打码
capsolver
第三方打码
browser
容器内有头浏览器打码
personal
有头浏览器 + 自动刷新 ST
remote_browser
连接远程有头打码服务器
使用标准 Dockerfile 部署时,只能选择不需要 Dockerfile.headed 的打码方式。

总结

整个部署流程核心就是:
  1. GCP 创建 VM — 一条命令搞定
  1. VM 里装 Docker — apt-get 一键安装
  1. Git 拉代码 + Docker Build — 云端构建,不依赖本地网络
  1. 配置文件 + Docker Run — 服务跑起来
  1. Nginx + Cloudflare — HTTPS 加持
  1. 静态 IP — 一劳永逸
整个过程大约 30 分钟可以完成。以后更新代码只需要 git pull + 重新构建,手机上也能操作。
如果这篇文章对你有帮助,欢迎点赞收藏 ⭐
上一篇
重新开始更新博客
下一篇
新NotionNext博客开篇-AIGC是未来

评论
Loading...