如何部署我的博客
サン猫の時間漂流前言
昨天突发奇想在「NodeSeek」上面发了一篇帖子(帖子链接),没想到第一篇就被设置为了「推荐阅读」。但是毕竟是我自己的博客而不是模板,所以并没有部署指南。惊喜之余,还是要写一篇关于如何部署我的博客的教程。部署很简单,这里我分成三个步骤,分别是:博客与动态部署 -> 评论系统 -> 短链系统。在最后,我会提供完整的 .env 文件。你也可以在 GitHub 仓库查看。
博客与动态部署
让我们先从最基础的开始吧!
准备工作首先,你需要有一个 GitHub 账号以及一个 Telegram 账号,此部分不在教程范围内。
其次,你需要选择一个部署平台。我的项目属于 Astro SSR,需要适配器。具有官方适配器的平台有 Vercel、Netlify、Cloudflare 等等。你可以选择其中一个进行部署。如果你选择 Vercel 部署,那么你不需要对 astro.config.mjs 进行修改;如果你选择 Netlify 或者 Cloudflare ,请根据 Astro 文档更换相对应的适配器。
最后,你需要一个公开的 Telegram 频道,在.env中添加变量如下:
TELEGRAM_HOST=t.me
# 自定义频道或标识符
CHANNEL=your_channel_name
如果在本地运行开发者服务器时出现超时的情况,你可能需要配置代理,在.env中添加变量如下:
# HTTP 代理 (具体端口请自行配置)
HTTP_PROXY=http://127.0.0.1:7897
请注意,这在部署的时候是不需要的,仅在本地测试使用。
部署步骤推送您的仓库到 GitHub 上,确定适配器正确后,前往您选择的部署平台(如 Vercel、Netlify 或 Cloudflare)部署即可。全程使用默认设置,不需要修改构建命令等等。
当然,记得添加你的环境变量!
评论系统
评论系统的配置也相当简单。因为是我自己写的,所以你也不需要额外部署其他项目的后端,只需要配置 LeanCloud 即可。
准备工作前往 LeanCloud 注册账号(最好使用国际版),然后创建一个新的应用,使用开发版即可。
打开「结构化数据」,在下面添加这六个 Class (按道理来说,一个完全空白的应用是会自动添加的,您也可以选择先跳过这一步,如果遇到不存在 Class 的问题,再手动添加)。

推荐选项:添加 API 访问域名,减少被墙或限速的风险。
在「设置」 -> 「域名绑定」中添加您自己的域名(国内版这里需要备案,所以推荐国际版)。

点击「域名绑定」上面的「应用凭证」,记录这四行至对应的环境变量中。

在后端我们使用私钥访问,所以您可以手动设置 Class 的 ACL 权限为「限制所有」,这并不会影响评论服务(默认应该是限制写入,所以您并不能在后台直接修改)。
添加变量在.env中添加如下内容:
# LeanCloud 应用凭证 (国际版或国内版)
# 请前往 LeanCloud 控制台 > 设置 > 应用凭证 获取
LEANCLOUD_APP_ID=<你的 LeanCloud App ID>
LEANCLOUD_APP_KEY=<你的 LeanCloud App Key>
LEANCLOUD_MASTER_KEY=<你的 LeanCloud Master Key>
LEANCLOUD_SERVER_URL=<你的 LeanCloud 服务器 URL>
但是这还没完,您还需要配置管理员的个人信息、密码等等:
- 打开
src/config.ts,根据注释修改下面内容:
// src/config.ts
// 针对博主特定的数据
export const ADMIN_USER = {
nickname: "EveSunMaple",
email: "evesunmaple@outlook.com",
website: "https://www.saroprock.com",
avatar: "https://www.saroprock.com/avatar.webp",
};
// 你不希望用户使用的名称与邮箱
export const SENSITIVE_USERS = ["evesunmaple", "EveSunMaple", "sunmaple", "SunMaple", "admin", "博主", "evesunmaple@outlook.com"];
- 在
.env中添加如下内容:
# JSON Web Token (JWT) 密钥
# 用于用户认证和 API 安全,请使用一个长且随机的字符串
JWT_SECRET=<你的 JWT 密钥>
# 后台管理员密码
# 用于访问受保护的管理功能
SECRET_ADMIN_PASSWORD=<设置一个强的管理员密码>
这里为了方便,管理员在登录时,只需要输入用户名、邮箱与密码即可,个人数据会直接使用配置的数据。
重新部署之后,您应该可以使用评论系统了。
对于管理员,可以访问/admin/comments管理评论。
短链系统
如果您成功访问了/admin,可能会惊讶地发现流量数据是不可用的。这是因为本博客使用 Sink 作为短链服务来统计并且分析浏览量。打开 Sink 项目,根据教程部署即可。
部署完成后,在.env中添加如下内容,即可以自动实现与 Sink 的集成,包括为每一篇博客生成短链,统计并且分析数据等等(当然,您不配置 Sink 也可以正常使用):
# 数据接收服务 (Sink) 配置
SINK_PUBLIC_URL=<你的 Sink 服务公开访问 URL>
SINK_API_KEY=<你的 Sink 服务 API 密钥>
自定义
到现在为止,您就完成了所有配置!最后,您只需要修改本站页面,就可以变成您自己的博客了!
对了,我在博客页脚添加了一个喜欢本站按钮,统计的是仓库数据。如果您希望保留,还需要添加一个变量:
# 用于访问 GitHub API,请在 GitHub > Settings > Developer settings > Personal access tokens 中生成
GITHUB_TOKEN=<你的 GitHub Personal Access Token>
其他的,比如希望添加导航链接,都可以前往对应的页面组件修改(src/components/layout/Header.astro)。我觉得我自己项目的文件命名还是没什么问题的,找起来应该不难。因为每个人可能希望的都不一样,这里就没有类似模板一样写一个通用的配置了。嗯,记得不要删除页脚右下方我的信息就好 ♥️ 先谢过各位了。
结语
完成自定义后,我的教程也到了头。整个过程不复杂吧?
如果在实践过程中遇到任何问题,欢迎前往 GitHub 仓库 提交 Issue 或讨论,当然也可以直接在文章下方留言。如果喜欢这个项目,可以转发此文章,也可以给项目点个 ⭐ 支持一下,项目还是会持续更新的喵。
对了,如果你需要一个纯静态的博客,这里不要脸打一个自己的广告 -> Frosti。
Generated by RSStT. The copyright belongs to the original author.