这篇会介绍如何将 Payload 作为 Headless CMS,配合 MongoDB 数据库构建高性能网站。通过 的一键部署能力,你可以快速上线你的 Payload CMS 系统,同时获得全球 CDN 加速,实现网站的最佳性能和用户体验。
一、快速入门
EdgeOne Makers 提供了完整的 Payload + MongoDB 集成方案模板,你可以点击模板中的部署按钮进行快速部署。
Payload + MongoDB 集成主要包含四个关键步骤:MongoDB 准备、S3 对象存储准备、其他 Payload 环境变量配置、部署到 EdgeOne Makers。下面将详细介绍每个步骤的具体操作。
二、MongoDB 准备
本方案中使用 MongoDB 作为数据库来存储内容数据,MongoDB 服务推荐使用 MongoDB Atlas(提供免费额度)或腾讯云 MongoDB。
三、1. 注册并创建集群
登录 MongoDB Atlas,创建一个新的 Cluster。
四、2. 创建数据库用户
在 Database Access 页面创建一个新用户,记录下 Username 和 Password。
五、3. 配置网络访问
在 Network Access 页面,添加 IP 地址,以确保 EdgeOne Makers 的构建和运行环境可以连接到数据库。
六、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 中。
十一、1. PAYLOAD_SECRET
·Payload 用于签署 JWT 令牌等的密钥。
·生成方法:你可以在终端运行 openssl rand -hex 32 生成,或者随意输入一串足够长且复杂的随机字符。
十二、2. NEXT_PUBLIC_SERVER_URL
这是你的网站最终访问的域名。在初次部署时,如果还没有自定义域名,可以使用 EdgeOne Makers 提供的默认域名,或者先填入 http://localhost:3000 待部署完成后再更新。
十三、1. 使用模板
在 EdgeOne Makers 模板页面找到 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 Makers 实现自动化部署,简化运维工作。
·获得全球 CDN 加速,提升用户体验。
十七、更多相关内容
了解 Payload 更多功能,详情请参见 Payload 产品文档。