Payload 集成

最近更新时间:2026-01-09 17:47:33

我的收藏
Payload CMS 是一款原生集成 Next.js 的现代化、开源 Headless CMS。它利用 Next.js App Router 和 React Server Components 技术,允许开发者将 CMS 直接嵌入到 Next.js 应用程序中,实现后端内容管理与前端展示的无缝融合,拥有灵活性与开发者体验。
本文将介绍如何将 Payload 作为 Headless CMS,配合 MongoDB 数据库构建高性能网站。通过 EdgeOne Pages 的一键部署能力,您可以快速上线您的 Payload CMS 系统,同时获得全球 CDN 加速,实现网站的最佳性能和用户体验。

快速入门

EdgeOne Pages 提供了完整的 Payload + MongoDB 集成方案模板,您可以点击模板中的部署按钮进行快速部署。
Payload + MongoDB 集成主要包含四个关键步骤:MongoDB 准备、S3 对象存储准备、其他Payload环境变量配置、部署到 EdgeOne Pages。下面将详细介绍每个步骤的具体操作。

MongoDB 准备

本方案中使用 MongoDB 作为数据库来存储内容数据,MongoDB 服务推荐使用 MongoDB Atlas(提供免费额度)或腾讯云 MongoDB。

1. 注册并创建集群

登录 MongoDB Atlas,创建一个新的 Cluster。

2. 创建数据库用户

在 Database Access 页面创建一个新用户,记录下 Username 和 Password。


3. 配置网络访问

在 Network Access 页面,添加 IP 地址,以确保 EdgeOne Pages 的构建和运行环境可以连接到数据库。


4. 获取连接字符串

在 Cluster 页面点击 Connect 按钮。
选择 Drivers。
复制提供的 Connection String(通常以 mongodb+srv:// 开头)。
将连接字符串中的 <password> 替换为您刚才创建的实际密码。
请记下这个连接字符串,稍后我们将把它填入环境变量 DATABASE_URI 中。


S3 对象存储准备

由于 Serverless 环境的文件系统通常是临时的(每次重新部署或冷启动后文件会丢失),我们需要将用户上传的图片、视频等媒体文件存储在外部对象存储服务中。Payload 支持任何兼容 S3 协议的存储(如腾讯云 COS、AWS S3、Cloudflare R2 等)。
以腾讯云 COS 为例:

1. 创建存储桶

登录 腾讯云控制台,进入对象存储(COS),创建一个新的存储桶(Bucket),并将访问权限设置为“公有读私有写”(以便前端可以公开访问图片)。

2. 获取密钥

在访问管理(CAM)中获取 SecretId 和 SecretKey。稍后将填入环境变量 S3_ACCESS_KEY_ID 和 S3_SECRET_ACCESS_KEY 中。

3. 记录配置信息

Bucket Name:存储桶名称。
Region:所属地域(例如 ap-shanghai)。
Endpoint:访问域名。
稍后将填入环境变量 S3_BUCKET、S3_REGION、S3_ENDPOINT 中。

其他 Payload 环境变量准备

1. PAYLOAD_SECRET

Payload 用于签署 JWT 令牌等密钥。
生成方法:您可以在终端运行 openssl rand -hex 32 生成,或者随意输入一串足够长且复杂的随机字符。

2. NEXT_PUBLIC_SERVER_URL

这是您的网站最终访问的域名。在初次部署时,如果还没有自定义域名,可以使用 EdgeOne Pages 提供的默认域名,或者先填入 http://localhost:3000 待部署完成后再更新。

部署到 EdgeOne Pages

1. 使用模板

在 EdgeOne Pages 模板页面找到 Payload + MongoDB 集成方案模板,单击 Deploy 进入到部署页面。

2. 关联代码仓库

授权并选择您的 Git 账户(GitHub/GitLab 等),EdgeOne 将会自动为您创建一个新的仓库。

3. 配置环境变量

在部署配置页面的“环境变量”区域,填入前面准备好的信息:


4. 点击部署

确认无误后,单击创建按钮开始部署。
部署完成后,您将获得一个访问域名。点击访问,在 URL 后加上 /admin(例如 https://your-site.edgeone.app/admin),即可看到 Payload CMS 的初始化界面,创建您的第一个管理员账号。
至此,我们已经完成了 Payload 方案的完整部署流程。通过这个方案,您可以:
使用 Payload 管理内容,享受其强大的 Headless CMS 功能。
通过 EdgeOne Pages 实现自动化部署,简化运维工作。
获得全球 CDN 加速,提升用户体验。

更多相关内容

了解 Payload 更多功能,详情请参见 Payload 官方文档