博客加载中...
📚 计算机基础
🎨 前端
JavaEE
JavaWeb
Spring
主流框架
SpringMVC
SpringBoot
📖 读书
🌍 英语
🏛️ 政治
💰 经济
💪 健身
🏠 其他
电影
漫画
游戏
🌈 生活
Appearance
上文讲了如何自建 Twikoo,但这要求要有个服务器。
而租一个服务器是蛮贵的,没条件的可以考虑用大厂的公益服务,免费搭建 Twikoo。
具体有哪些可以白嫖,可以参考:云函数部署 | Twikoo 文档
这里以 Netlify 和 Vercel 为例讲解如何搭建,其他的同理。
打开 MongoDB AtLas 官网并注册账号。
注:网不太好,可能需魔法才能注册成功。
打开 Database Access 页面,点击 Add New Database User(创建数据库用户)
Authentication Method(认证方法)选 Password(密码验证),然后设置用户名和密码,点 Auto Generate 自动生成一个不含特殊符号的强壮密码并妥善保存:
然后点击 Database User Privileges 下方的 Add Built In Role,Select Role 选择 Atlas Admin:
最后点击右下角的 Add User,即可完成创建。
点击 Add IP Address:
设置允许所有 IP 地址的连接:点击弹出框的「Allow Access from Anywhere」,或者手动输入 0.0.0.0/0即可。
0.0.0.0/0
点击 Confirm 保存。
当然,如果你的 Twikoo 服务部署在自己的服务器上,这里可以填入固定 IP 地址。
选择左侧的 Clusters,然后点击右侧的 Build a Cluster:
然后选免费的:
然后配置下名字、地域,点击右下角的创建:
连接方式选择 Drivers:
然后选 Node,并记录数据库连接字符串,将连接字符串中的 <username>:<password> 修改为刚刚创建的数据库 用户名:密码
<username>:<password>
用户名:密码
Netlify 是一个功能强大的静态网站托管平台,不仅提供了简单的网站部署功能,还集成了许多现代化的开发工具和服务,帮助开发者更高效地构建、部署和管理网站。
你可以理解为它是一个 CDN,可以将网站文件上传上去,然后全球都可以访问你的网站了。
申请并登录 Netlify 账号(可以用 GitHub 账号登录),创建一个 Team:
打开 GitHub,fork 项目 twikoojs/twikoo-netlify 到自己的账号下。
回到 Netlify,点击导入项目:
选择从 GitHub 上导入:
会弹出授权请求,选择刚刚 fork 的项目(可以在右上角搜索):
然后配置名字:
点击 Add environment variables - New variable,Key 输入 MONGODB_URI,Value 输入前面记录的数据库连接字符串,然后点击 Deploy:
MONGODB_URI
稍微等一点时间,等部署完成后,点击它能看到 “Twikoo 云函数运行正常” 的提示
云函数地址包含 https:// 前缀和 /.netlify/functions/twikoo 后缀。
https://
/.netlify/functions/twikoo
https://xxx.netlify.app/.netlify/functions/twikoo即为环境 id,博客里配置 Twikoo 时要用到。
https://xxx.netlify.app/.netlify/functions/twikoo
用了一段时间 Netlify,感觉速度还是有点慢,经过博友 绮曜 的提醒,Vercel 速度更快一点,所以后面就切换为了它。
其实 Vercel 本身是被墙了的,绑定自己的域名后才挺快的。
下面分享下相关过程。
打开 Vercel 官网注册账号。
我试着用 GitHub 账号登录,但是失败了❓,后面换的 Gmail 邮箱登录。
如果用大陆内邮箱的话,貌似还要验证手机号。
点击此 链接,选择 GitHub:
然后要授权(我这里已经授权了,新用户得选择 Add GitHub Account),然后仓库名自己写一个就行(必须是不存在的仓库名,会帮你新建仓库),然后点击 Create:
然后等待创建完成。在项目页面会显示未配置变量:
进入 Settings:
点击 Environment Variables,添加环境变量 MONGODB_URI,值为前面记录的数据库连接字符串:
进入 Settings - Deployment Protection,设置 Vercel Authentication 为 Disabled,并 Save(否则 Twikoo 发送邮件会失败):
一般来说,设置环境变量后会提示重新部署(Redeploy),点击它,等待重新部署完毕。
等待重新部署完成后,进入 Project,查看 Overview 或者点击 visit,看见 Twikoo 云函数运行正常 的提示,说明部署成功:
你也可以点击上图 Domains 里的网址直接访问:
这个 Vercel Domains(包含 https:// 前缀,例如 https://xxx.vercel.app)就是环境 ID。
https://xxx.vercel.app
由于 Vercel 被墙了,得绑定自己的域名才能正常访问。
打开域名服务商后台,添加一个 DNS 记录
Type: CNAME(Alias) Name: twikoo Target hostname: cname.vercel-dns.com
Name:自己随便定义一个,例如我写的是 twikoo,后面 twikoo.peterjxl.com 就是我的环境 ID 了。
目标地址写 cname.vercel-dns.com
然后回到 Vercel,在 Domains 里添加刚刚定义的域名:
配置后,会提示你验证所有权,给出一个新的值:
复制将这个值,回到域名服务商后台,将刚刚填写的 cname.vercel-dns.com 修改为这个值,刷新,就会提示已验证了:
cname.vercel-dns.com
在博客里配置环境 ID 即可,具体可以参考上一篇文章。
运行博客,第一次打开 Twikoo 管理面板会要求设置密码,设置并登录,然后可以开始配置。
我之前用的是自建服务器,如今切换到云函数,可以先在面板里导出数据。等迁移完后,再导入:
Twikoo 不支持配置的导入导出,我建议将 Twikoo 的 data 目录全部下载下来,里面的 db.json.0 就是评论数据(可以直接导入),而db.json.1 就是你之前做的配置,可以打开它看看之前的配置,然后手动复制下。
db.json.0
db.json.1
云函数部署 | Twikoo 文档
MongoDB Atlas | Twikoo 文档
Twikoo 评论部署 - 悠心不已 - 博客园
在 Netlify 上部署 Twikoo 评论系统 | 流动
Mintimate/twikoo-eo:EdgeOne Page 版本。但群友反馈:申请 KV 几个月了都没通过。另一个群友:系统认为你们不像是需要 KV 的,要找客服
Twikoo 作者做的视频教程:Twikoo Vercel 部署教程,含申请 MongoDb 过程
手把手教你在 Hexo 博客部署免费的 Twikoo 评论系统 - 知乎:写的很详细的图文教程
Vercel 部署 Twikoo 评论系统保姆级教程 | 白衣 INK
通过云函数部署 Twikoo
前言
上文讲了如何自建 Twikoo,但这要求要有个服务器。
而租一个服务器是蛮贵的,没条件的可以考虑用大厂的公益服务,免费搭建 Twikoo。
具体有哪些可以白嫖,可以参考:云函数部署 | Twikoo 文档
这里以 Netlify 和 Vercel 为例讲解如何搭建,其他的同理。
大致部署过程
MongoDB
注册账号
打开 MongoDB AtLas 官网并注册账号。
注:网不太好,可能需魔法才能注册成功。
新建数据库用户
打开 Database Access 页面,点击 Add New Database User(创建数据库用户)
Authentication Method(认证方法)选 Password(密码验证),然后设置用户名和密码,点 Auto Generate 自动生成一个不含特殊符号的强壮密码并妥善保存:
然后点击 Database User Privileges 下方的 Add Built In Role,Select Role 选择 Atlas Admin:
最后点击右下角的 Add User,即可完成创建。
配置 IP 白名单
点击 Add IP Address:
设置允许所有 IP 地址的连接:点击弹出框的「Allow Access from Anywhere」,或者手动输入
0.0.0.0/0即可。点击 Confirm 保存。
创建数据库
选择左侧的 Clusters,然后点击右侧的 Build a Cluster:
然后选免费的:
然后配置下名字、地域,点击右下角的创建:
创建数据库连接字符串
连接方式选择 Drivers:
然后选 Node,并记录数据库连接字符串,将连接字符串中的
<username>:<password> 修改为刚刚创建的数据库用户名:密码
Netlify
简介
Netlify 是一个功能强大的静态网站托管平台,不仅提供了简单的网站部署功能,还集成了许多现代化的开发工具和服务,帮助开发者更高效地构建、部署和管理网站。
你可以理解为它是一个 CDN,可以将网站文件上传上去,然后全球都可以访问你的网站了。
注册
申请并登录 Netlify 账号(可以用 GitHub 账号登录),创建一个 Team:
导入 Twikoo 项目
打开 GitHub,fork 项目 twikoojs/twikoo-netlify 到自己的账号下。
回到 Netlify,点击导入项目:
选择从 GitHub 上导入:
会弹出授权请求,选择刚刚 fork 的项目(可以在右上角搜索):
然后配置名字:
点击 Add environment variables - New variable,Key 输入
MONGODB_URI,Value 输入前面记录的数据库连接字符串,然后点击 Deploy:
稍微等一点时间,等部署完成后,点击它能看到 “Twikoo 云函数运行正常” 的提示
云函数地址包含
https:// 前缀和/.netlify/functions/twikoo后缀。https://xxx.netlify.app/.netlify/functions/twikoo即为环境 id,博客里配置 Twikoo 时要用到。
Vercel
用了一段时间 Netlify,感觉速度还是有点慢,经过博友 绮曜 的提醒,Vercel 速度更快一点,所以后面就切换为了它。
其实 Vercel 本身是被墙了的,绑定自己的域名后才挺快的。
下面分享下相关过程。
注册账号
打开 Vercel 官网注册账号。
我试着用 GitHub 账号登录,但是失败了❓,后面换的 Gmail 邮箱登录。
如果用大陆内邮箱的话,貌似还要验证手机号。
部署项目
点击此 链接,选择 GitHub:
然后要授权(我这里已经授权了,新用户得选择 Add GitHub Account),然后仓库名自己写一个就行(必须是不存在的仓库名,会帮你新建仓库),然后点击 Create:
然后等待创建完成。在项目页面会显示未配置变量:
进入 Settings:
点击 Environment Variables,添加环境变量
MONGODB_URI,值为前面记录的数据库连接字符串:
进入 Settings - Deployment Protection,设置 Vercel Authentication 为 Disabled,并 Save(否则 Twikoo 发送邮件会失败):
一般来说,设置环境变量后会提示重新部署(Redeploy),点击它,等待重新部署完毕。
等待重新部署完成后,进入 Project,查看 Overview 或者点击 visit,看见 Twikoo 云函数运行正常 的提示,说明部署成功:
你也可以点击上图 Domains 里的网址直接访问:
这个 Vercel Domains(包含
https:// 前缀,例如https://xxx.vercel.app)就是环境 ID。
绑定域名
由于 Vercel 被墙了,得绑定自己的域名才能正常访问。
打开域名服务商后台,添加一个 DNS 记录
2
3
Name:自己随便定义一个,例如我写的是 twikoo,后面 twikoo.peterjxl.com 就是我的环境 ID 了。
目标地址写 cname.vercel-dns.com
然后回到 Vercel,在 Domains 里添加刚刚定义的域名:
配置后,会提示你验证所有权,给出一个新的值:
复制将这个值,回到域名服务商后台,将刚刚填写的
cname.vercel-dns.com修改为这个值,刷新,就会提示已验证了:
配置博客
在博客里配置环境 ID 即可,具体可以参考上一篇文章。
运行博客,第一次打开 Twikoo 管理面板会要求设置密码,设置并登录,然后可以开始配置。
我之前用的是自建服务器,如今切换到云函数,可以先在面板里导出数据。等迁移完后,再导入:
Twikoo 不支持配置的导入导出,我建议将 Twikoo 的 data 目录全部下载下来,里面的
db.json.0 就是评论数据(可以直接导入),而db.json.1就是你之前做的配置,可以打开它看看之前的配置,然后手动复制下。
参考
云函数部署 | Twikoo 文档
MongoDB Atlas | Twikoo 文档
Twikoo 评论部署 - 悠心不已 - 博客园
在 Netlify 上部署 Twikoo 评论系统 | 流动
Mintimate/twikoo-eo:EdgeOne Page 版本。但群友反馈:申请 KV 几个月了都没通过。另一个群友:系统认为你们不像是需要 KV 的,要找客服
Twikoo 作者做的视频教程:Twikoo Vercel 部署教程,含申请 MongoDb 过程
手把手教你在 Hexo 博客部署免费的 Twikoo 评论系统 - 知乎:写的很详细的图文教程
Vercel 部署 Twikoo 评论系统保姆级教程 | 白衣 INK