在阿里云 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 就可以完全运行在阿里云基础设施之上。

目录
相关文章
|
1月前
|
安全 CDN
阿里云 ESA (边缘安全加速) 中国站免费版 开放申请 (免费CDN)
阿里云ESA免费版现支持中国站用户申请,提供无限流量和国内节点加速(需备案),媲美无限制CDN,显著提升访问速度,告别Cloudflare国内慢速问题。立即免费开通体验。
979 12
|
4月前
|
人工智能 自然语言处理 前端开发
从零到上线:用 Qwen3-Coder 和 MCP 打造儿童学习助手
本教程介绍如何利用Qwen3-Coder模型与VS Code插件打造儿童学习助手,涵盖AI编程、代码优化与网页部署,助你掌握真实场景开发技巧。
1001 28
|
2月前
|
人工智能 监控 调度
哈希极化、拓扑盲点与拥塞抖动:主流端网协同方案如何缓解万卡集群通信瓶颈?
随着大模型参数规模迈向万亿级,万卡乃至十万卡 GPU 集群正成为 AI 训练基础设施的标配,而万卡集群三大通信瓶颈——哈希极化、拓扑盲点与拥塞抖动,对网络架构提出了前所未有的挑战。本文基于主流互联网大厂的公开实践,深入剖析超大规模集群中端网协同架构的设计思路,并探讨面向 MoE 与 DeepSeek 等新型模型的下一代 AI 网络演进方向。
哈希极化、拓扑盲点与拥塞抖动:主流端网协同方案如何缓解万卡集群通信瓶颈?
|
3月前
|
人工智能 安全 架构师
2025云栖大会 | 阿里云网络技术Session主题资料和视频回放归档
2025年9月24日-26日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,围绕增强确定性、提效自动化、深耕智能化和敏捷全球化带来技术、产品和服务升级,以及全新的云网络产品生态合作计划发布。
620 2
|
9月前
|
人工智能 算法 网络安全
基于PAI+专属网关+私网连接:构建全链路Deepseek云上私有化部署与模型调用架构
本文介绍了阿里云通过PAI+专属网关+私网连接方案,帮助企业实现DeepSeek-R1模型的私有化部署。方案解决了算力成本高、资源紧张、部署复杂和数据安全等问题,支持全链路零公网暴露及全球低延迟算力网络,最终实现技术可控、成本优化与安全可靠的AI部署路径,满足企业全球化业务需求。
|
4月前
|
存储 运维 数据可视化
短剧为什么比长剧更依赖云和网络?
微短剧对云与网络的依赖远高于传统影视,因其制作周期短、投流驱动强、数据量大、IT团队轻量化及出海需求迫切。短剧的成功离不开高速传输、实时数据反馈、多云互联与跨境合规传输。一套理想的云网方案应具备高速文件传输、多云互联、跨境加速与合规、实时数据回传及可视化管理能力,助力短剧企业快速响应市场、提升投放效率、实现全球化分发。
|
9月前
|
数据可视化 搜索推荐 前端开发
建站必备!推荐20款免费WordPress主题下载合集!
本文推荐了20款免费WordPress主题,包括极简主义的Hello、功能强大的Kadence、轻量级的GeneratePress等。每款主题均附有预览图和特色介绍,如可视化编辑、自定义布局、SEO优化等,适合不同需求的建站者使用。更多主题可访问ztmao.com。
1583 5
建站必备!推荐20款免费WordPress主题下载合集!
|
存储 NoSQL PHP
如何用Redis高效实现点赞功能?用Set?还是Bitmap?
在众多软件应用中,点赞功能几乎成为标配。本文从实际需求出发,探讨如何利用 Redis 的 `Set` 和 `Bitmap` 数据结构设计高效点赞系统,分析其优缺点,并提供 PHP 实现示例。通过对比两种方案,帮助开发者选择最适合的存储方式。
446 3