在阿里云 ESA Pages 上部署开源导航系统 HiCyou 及 OSS 迁移计划

简介: HiCyou 是一个开源的 SaaS 与 AI 工具发现平台,基于 Next.js 构建,实时聚合全球新品。本文介绍如何将其部署至阿里云 ESA Pages 边缘网络,并逐步迁移 Cloudflare R2 存储至阿里云 OSS,提升国内访问速度与系统集成度,助力平台全面拥抱阿里云生态。(238 字)

HiCyou 是一个开源的、致力于收集全球最新 SaaS 和 AI 工具的发现平台。我们通过 AI 技术实时捕捉、分析并结构化刚发布的新产品,为用户提供零时差的工具导航服务。

本文档详细介绍了如何将 HiCyou 部署到阿里云 ESA (Edge Security Acceleration) 的边缘程序(Edge Routine / Pages)上,并规划了从 Cloudflare R2 迁移到阿里云 OSS 的后续步骤。

1. 部署到阿里云 ESA Pages

阿里云 ESA Pages (边缘网页) 类似于 Cloudflare Pages,允许我们将 Next.js 应用部署到全球边缘节点。由于 HiCyou 是基于 Next.js 构建的,我们可以利用 ESA 的静态导出或 Node.js 兼容模式(视 ESA 具体支持情况而定,推荐使用静态导出 output: 'export' 或使用适配器)。

前置准备

image.png

  1. 开通 ESA 服务:在阿里云控制台开通边缘安全加速 ESA 服务。
  2. 创建站点:在 ESA 控制台创建一个新的站点(Site),绑定你的域名(如 hicyou.com)。
  3. 代码准备:确保本地代码可以正常 build。

部署步骤

Github 开源项目地址:

https://github.com/hicyoucom/hicyou

Demo地址:

https://hicyou.com

Snipaste_2025-11-29_01-35-01.png

方案 A: 静态导出 (推荐,适用于纯静态部分)

如果 HiCyou 的核心功能不依赖复杂的服务器端渲染 (SSR) 或 Edge Runtime,最简单的方法是使用 Next.js 的静态导出。

  1. 修改 next.config.mjs:

    const nextConfig = {
    
      output: 'export',
    
      // ... 其他配置
    
    };
    
  2. 构建项目:

    npm run build
    

    这会生成一个

    out
    

    目录。

  3. 上传到 ESA Pages:

    • 进入 ESA 控制台 -> 边缘网页 (Pages)。
    • 创建新项目,连接你的 GitHub 仓库。
    • 配置构建命令:npm run build
    • 配置输出目录:out
    • 点击部署。

方案 B: 使用 Node.js / 容器化部署 (适用于完整功能)

如果需要 SSR (Server-Side Rendering) 和 API Routes,建议使用 ESA 的计算服务或搭配阿里云 FC (函数计算)。但为了最接近 "Pages" 的体验,我们可以使用 ESA CLI 进行部署(假设 ESA 即将支持或已经支持 Next.js 适配器)。

目前最稳妥的生产级部署方案是 Docker 容器化 + ESA 边缘容器(如果支持)或 阿里云 FC + ESA 回源。此处仅介绍通用的 ESA Pages 静态托管流程,动态 API 建议通过独立服务部署。

环境配置

在 ESA Pages 的项目设置中,添加以下环境变量(参考

.env.example):

  • NEXT_PUBLIC_SITE_URL: 你的线上域名
  • NEXT_PUBLIC_SUPABASE_URL: Supabase URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: Supabase Key
  • (其他必要的公开变量)

2. 下一步计划:兼容阿里云 OSS (替代 R2)

当前 HiCyou 使用 Cloudflare R2 存储图片(Logo 和 Cover),为了全面迁移到阿里云生态,我们需要将 R2 替换为阿里云 OSS (Object Storage Service)。

由于 R2 和 OSS 都兼容 S3 协议,迁移成本相对较低,但仍需进行以下改造。

待办事项 (Todo List)

[ ] 1. 基础设施准备

  • 在阿里云 OSS 控制台创建 Bucket (例如 hicyou-assets).
  • 配置跨域访问 (CORS) 规则,允许 hicyou.com 访问。
  • 获取 AccessKey ID 和 AccessKey Secret。
  • 配置自定义域名 (CDN 加速域名),例如 assets.hicyou.com,并开启 HTTPS。

[ ] 2. 代码改造 (fetcher/src/index.ts & app/api/...)

需要修改使用 @aws-sdk/client-s3 的地方。OSS 虽然兼容 S3,但 Endpoint 格式不同。

  • 修改 S3 Client 配置:

    ```
    // 当前 R2 配置

    const r2Client = new S3Client({

    region: "auto",
    
    endpoint: `https://${process.env.R2_ACCOUNT_ID}.r2.cloudflarestorage.com`,
    
    credentials: { ... }
    

    });

// 目标 OSS 配置

const ossClient = new S3Client({

  region: process.env.OSS_REGION, // e.g., "oss-cn-hangzhou"

  endpoint: `https://${process.env.OSS_REGION}.aliyuncs.com`, // 使用外网 Endpoint

  credentials: {

      accessKeyId: process.env.OSS_ACCESS_KEY_ID,

      secretAccessKey: process.env.OSS_ACCESS_KEY_SECRET,

  },

});


#### [ ] 3. 环境变量更新

在 

.env 中添加新的 OSS 变量,废弃 R2 变量:

DELETE

R2_ACCOUNT_ID=...

R2_ACCESS_KEY_ID=...

R2_SECRET_ACCESS_KEY=...

R2_BUCKET_NAME=...

R2_PUBLIC_URL=...

NEW (OSS)

OSS_REGION="oss-cn-shenzhen"

OSS_ACCESS_KEY_ID="LTAI..."

OSS_ACCESS_KEY_SECRET="xk3..."

OSS_BUCKET_NAME="hicyou-assets"

OSS_PUBLIC_URL="https://assets.hicyou.com"
```

[ ] 4. 数据迁移 (可选但推荐)

如果需要保留旧数据,需要将 R2 中的数据迁移到 OSS。

  • 可以使用 rclone 工具进行从 R2 到 OSS 的在线同步。

[ ] 5. 测试验证

  • 验证图片上传功能 (Logo/Cover) 是否正常写入 OSS。
  • 验证前端图片加载是否正常 (CDN 域名解析、HTTPS 证书)。
  • 验证图片处理 (OSS 自带图片处理参数 ?x-oss-process=...) 是否需要适配 (如果我们使用了 R2 的特定转换功能)。

总结

部署到 ESA Pages 能够提供更好的国内访问速度(如果有国内节点),而迁移到 OSS 则能更好地整合阿里云的 CDN 和图片处理能力。完成上述 Todo 后,HiCyou 就可以完全运行在阿里云基础设施之上。

目录
相关文章
|
6月前
|
人工智能 边缘计算 安全
云栖发布深度解读|以边缘原生定义 AI 时代的开发与交付
阿里云 ESA 「函数和Pages」云栖大会发布会
云栖发布深度解读|以边缘原生定义 AI 时代的开发与交付
|
3月前
|
弹性计算 固态存储 JavaScript
一张表看懂!阿里云4核8G云服务器ECS全配置,附送参考价格,连夜整理
阿里云4核8G云服务器配置大全:涵盖u1、c8i、c7、c8a、c8ae等20余种ECS实例,价格从216元/月起;u1实例特惠955元/年,配Intel至强处理器、8GB内存、1–3M带宽及ESSD Entry系统盘,适合日均万级IP应用。
1058 8
|
3月前
|
移动开发 API 双11
2026阿里云域名优惠口令:com和cn续费,cn注册均可获得减免
2026年阿里云推出域名优惠口令活动,用户注册、续费.com/.cn等域名时,输入特定口令可立减5-15元。优惠口令通过阿里云万网微信公众号或活动页面获取,仅限PC端及阿里云App使用,不可与代金券、折扣等叠加。使用需注意适用范围(如续费口令不适用转入)、限时限量及验证规则。
|
1月前
|
存储 人工智能 Serverless
替换一个节点,让 ComfyUI 瞬间起飞
FunArt是阿里云函数计算推出的ComfyUI一键托管平台,现集成全新DiT推理引擎VisionPlaid。该引擎序列并行加速,支持Int4/NVFP4量化与SageAttention,单卡最高提速2倍、双卡达2.5倍,兼顾极致性能与原生兼容性,真正实现开箱即用的高效AI生成体验。
|
4月前
|
存储 弹性计算 固态存储
云服务器租用价格多少钱一年?2026年看看阿里云收费贵不贵?也忒优惠了
2026年阿里云服务器优惠来袭!轻量服务器38元/年起,ECS经济型2核2G仅99元/年,企业级2核4G 199元/年,续费同价。香港轻量服务器25元/月起,4核16G、8核32G高配机型限时特惠,全地域覆盖,带宽与存储灵活配置,性价比极高,速抢!
725 0
|
2月前
|
人工智能 JSON API
Laravel 13 正式发布 使用 Laravel AI 无缝平滑升级
Laravel 13 正式发布!要求 PHP 8.3+,支持原生 PHP Attributes、内置 JSON:API Resources、语义向量搜索、Cache::touch()、Passkey 认证、数据库驱动 Reverb 等重磅特性,并推出 Laravel AI SDK 与 AI 辅助升级工具 Laravel Boost。(239字)
322 0
|
3月前
|
人工智能 机器人 API
Laravel AI SDK 在 Laracon India 2026 首次亮相
Laravel AI SDK 于 Laracon India 2026 首发!由 Taylor Otwell 打造,提供统一优雅的 API,支持聊天、图像/音频生成、转录、语义搜索(embeddings)等,兼容 OpenAI、Gemini、ElevenLabs 等多服务商,开箱即用,深度集成 Laravel 生态。(239字)
417 7
|
5月前
|
安全 CDN
阿里云 ESA (边缘安全加速) 中国站免费版 开放申请 (免费CDN)
阿里云ESA免费版现支持中国站用户申请,提供无限流量和国内节点加速(需备案),媲美无限制CDN,显著提升访问速度,告别Cloudflare国内慢速问题。立即免费开通体验。
2179 12

热门文章

最新文章