找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3736

积分

0

好友

488

主题
发表于 13 小时前 | 查看: 3| 回复: 0

如果你正在为静态博客寻找一个功能齐全且免费的评论系统,那么基于 VercelWaline 的方案值得一试。本文将手把手带你完成从零开始,在 Vercel 上免费部署 Waline 评论服务的全过程。

准备工作与项目初始化

开始前,你可以先浏览 Waline 官方指南 以获得初步了解。

Waline官方文档快速上手页面

首先,你需要一个 Vercel 账户。如果尚未注册,可以直接使用 GitHub 或 Google 账号快捷登录,非常方便。

登录后,访问 Waline 的部署页面,点击醒目的 “Deploy” 按钮。Vercel 会引导你创建一个新的 GitHub 仓库来存放项目代码。

Vercel新建项目页面,克隆Waline仓库

如上图所示,仓库名称可以自定义,例如 comment-waline,然后点击 Create。这个操作会将 Waline 的官方仓库克隆到你自己的 GitHub 账户下。

GitHub仓库列表,显示新创建的私有仓库

克隆过程完成后,Vercel 会自动开始部署。

Vercel部署成功但服务器函数报错页面

初次部署后,你可能会看到如上图所示的错误提示。别担心,这通常是因为我们还没有配置数据库。我们稍后会解决它。先进入项目的 Dashboard 面板。

Vercel项目概览仪表板

现在,一个名为 comment-waline 的新项目已经在你的 Vercel 账户中创建好了。

配置自定义域名

为了让评论服务有一个固定的访问地址,我们为它配置一个自定义域名。进入项目设置中的 “Domains” 页面。

Vercel项目域名管理页面

这里,我使用了一个子域名 comment.starttech.dpdns.org。你需要在输入框中填入你自己的域名。

在Vercel域名搜索框中输入自定义域名

添加域名并连接到生产环境的配置弹窗

点击 “Save” 保存。接下来,Vercel 会要求你验证域名所有权。

域名验证提示,需添加TXT记录

根据提示,你需要在你域名的 DNS 服务商(例如 Cloudflare)处,添加一条指定的 TXT 记录。

Cloudflare DNS记录管理界面,添加TXT和CNAME记录

添加完 DNS 记录后,返回 Vercel 页面点击刷新,并等待全球 DNS 生效。

域名仍显示验证中状态

请注意:当域名验证成功后,用于验证的这条 TXT 记录就可以从 DNS 配置中删除了。

域名验证成功,状态变为有效配置

验证成功后,记得删除之前在 Cloudflare 添加的临时 TXT 记录,并确保有一条指向 Vercel 的 CNAME 记录(例如将 comment 指向 Vercel 分配的域名)。

Cloudflare上配置的最终DNS记录

域名配置完成后,尝试访问你的自定义域名,例如 https://comment.starttech.dpdns.org/

解决数据库依赖问题

此时访问,你很可能会看到一个 500 错误页面。

Vercel服务器函数崩溃错误页面

这个错误明确告诉我们:Waline 需要数据库来存储评论数据,而我们还没有配置。接下来,我们就在 Vercel 上创建一个免费的数据库。

进入你项目的 “Storage” 页面,点击 “Connect to a Database”。

Vercel项目存储页面,选择连接数据库

在数据库市场中选择 “Neon”(一个免费的 Serverless PostgreSQL 服务)。

Vercel数据库市场提供商列表,选择Neon

按照向导进行配置,区域可以选择离你较近的,认证(Auth)可以先保持关闭,计划选择 “Free” 免费 tier。

Neon数据库安装配置与计划选择界面

确认Neon数据库配置和免费计划

你可以修改资源名称,然后点击 “Create” 开始创建。

Neon数据库创建完成提示

数据库创建完成后,会跳转到指南页面。我们点击 “Open in Neon” 来管理这个数据库。

Neon数据库集成指南页面,显示连接信息

进入 Neon 控制台后,切换到 “SQL Editor” 标签页。

Neon数据库项目仪表盘和SQL编辑器入口

我们需要为 Waline 初始化数据库表结构。将 Waline 官方提供的 SQL 文件内容粘贴到编辑器中执行。SQL 文件地址是:https://github.com/walinejs/waline/blob/main/assets/waline.pgsql

执行成功后,你会看到相应的成功提示。

Neon SQL编辑器成功执行建表语句

重新部署并连接数据库

数据库准备好后,我们需要让 Vercel 项目感知到它。回到 Vercel 项目的 “Deployments” 页面。

Vercel项目部署历史记录列表

找到最新的那次部署记录,点击右侧的菜单,选择 “Redeploy”(重新部署)。

部署记录操作菜单,选择Redeploy

在弹窗中确认环境为 Production,然后再次点击 “Redeploy”。

确认重新部署的弹窗界面

Vercel 会开始一次新的构建部署。

部署列表显示新的构建任务

等待状态变为 “Ready”,即表示部署完成。

部署完成,两个部署记录均为Ready状态

部署成功后,再次访问你的域名。如果依然报错,可能是数据库连接还未生效。我们可以查看部署日志来确认。

Vercel部署日志显示“未找到有效存储”错误

日志中的错误 “No valid storage found” 证实了这一点:项目还没有与刚才创建的数据库建立连接。

我们需要手动连接它们。再次进入项目的 “Storage” 页面,现在你应该能看到我们创建的 Neon 数据库,点击其旁边的 “Connect” 按钮。

Storage页面显示已创建的Neon数据库

在配置弹窗中,选择环境(通常全选),然后点击 “Connect”。

配置数据库连接至项目的弹窗

连接成功后,Vercel 会自动向项目中注入一系列数据库环境变量。你可以在 “Settings” -> “Environment Variables” 中看到它们。

Vercel项目环境变量列表,包含数据库连接串

关键一步:环境变量添加后,必须再次触发一次重新部署,新的配置才会生效。重复上面的步骤,对最新的部署记录再次执行 “Redeploy”。

再次执行Redeploy操作

等待这次重新部署完成。

测试与验证

部署成功后,访问你的域名,现在应该能看到 Waline 评论系统的前端界面了!

Waline评论系统前端界面

让我们做一个简单的测试。填写昵称、邮箱(仅用于显示 Gravatar 头像)和评论内容,然后提交。

提交一条测试评论后的界面

评论成功显示!接下来,我们去数据库验证数据是否真的被存储了。回到 Neon 控制台的 “Tables” 部分,查看 wl_comment 表。

Neon数据库控制台显示wl_comment表中的测试数据

可以看到,我们刚刚提交的测试评论已经安静地躺在了数据库里。这意味着整个系统——从前端评论提交,到后端 Serverless Function 处理,再到 PostgreSQL 数据库存储——已经完全打通并正常工作。

集成到 Hexo 等静态博客

现在,你的 Waline 评论服务已经可以独立运行。要把它集成到 Hexo 博客中,只需在主题配置文件中指定服务端地址。

以下是一个 Hexo 主题(如 Butterfly)中配置 Waline 的示例:

comments:
  # 最多两个评论系统,第一个为默认显示
  # 如果不需要评论,请留空
  use: Waline
  # 在按钮旁显示评论系统名称
  text: true
  # 懒加载:当评论元素进入浏览器视口时再加载评论系统。
  # 如果设为 true,评论计数将无效
  lazyload: true
  # 在文章顶部图片中显示评论数
  count: false
  # 在主页显示评论数
  card_post_count: false

waline:
  # 这里填入你刚刚配置的 Waline 服务端地址
  serverURL: https://comment.starttech.dpdns.org
  # 其他可选配置如语言、表情等可根据需要添加

serverURL 的值替换为你自己的域名即可。

至此,一个完全免费、功能完整的博客评论系统就部署完成了。它利用了 Vercel 的 Serverless 平台和 Neon 的免费 PostgreSQL 数据库服务,无需担心服务器运维和基础成本。如果你在部署过程中遇到其他问题,可以到技术社区如 云栈社区 的相应板块交流讨论。




上一篇:基于Plano的智能模型路由方案:为OpenClaw节省80%的LLM调用成本
下一篇:深度拆解 Anthropic Claude Skills 白皮书:架构设计与实战模式精讲
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-26 17:34 , Processed in 0.463561 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表