twikoo评论系统早期基于腾讯云云开发CloudBase,部署使用很方便。不久云开发取消了免费套餐,最便宜的套餐19.9元/月,为了twikoo,使用这个收费套餐完全没必要。靠着使用webify时送的代金券,将云开发CloudBase使用到了现在。看看余额,时间,代金券快到期了。只能将twikoo评论系统迁移,私有部署。
twikoo官网上有详细的私有部署方法。主要是vercel部署,docker部署以及服务器直接部署。这里记录下我的经验和看法。
vercel部署
vercel部署是使用MongoDB提供的免费数据库以及vercel提供的severless构建。MongoDB免费数据库可以选择google,aws,azure三者之一的服务器,地域可以选择中国香港。(国内访问速度影响不大,可能选择美国东海岸国内访问速度更好。–未经测试。)vercel服务也有地域可供选择,中国香港,或者美国东海岸比较适合国内访问。
twikoo部署好以后,vercel需要绑定自己的域名,国内才能访问。如果有国内备案的域名,可以给vercel套上国内CDN。我的这个hexo博客使用vercel构建,即用上了国内CDN,速度还不错。至于twikoo评论,套上国内CDN,速度可能不会有很明显的改善(需要从MongoDB读取数据)。
将原本云开发,数据库里的comment数据导出,然后在新部署的twikoo后台导入这些评论即可。
vercel及MongoDB提供的免费服务应该还是可靠的(反面教材腾讯云就不说了),所以将twikoo托管到vercel是个不错的选择。缺陷是国内访问速度不太理想。
docker部署以及服务器直接部署
这两种方式,其实是一种,即将twikoo服务及数据都保存在自己的服务器上,数据安全自主可控。具体方法就不展开了,twikoo官网有,这里记录三个要点:
- 如果博客站点开启了https,twikoo也需要开启https,否则会报错,获取不到评论数据(twikoo直接使用ip加端口方式使用会出现这个问题,见下图)。我的做法是给私有部署的twikoo服务套上CDN,绑定域名,然后在CDN里绑定SSL证书,以启用https访问。http方式启用twikoo会报错。
- 跨域问题。twikoo绑定域名以后,嵌入博客,因为不同域名,会出现跨域问题,获取不到评论数据,无法使用。因为我使用了CDN,解决方法是在CDN配置里,HTTP响应头配置添加Access-Control-Allow-Origin:*,允许被所有域请求。当然也可以添加对应的IP或者域名,只允许指定的地址访问使用twikoo服务。
- 数据迁移。twikoo服务搭建好以后,可以把云开发里的数据完全无缝迁移过来。腾讯云云开发数据库里保存的数据格式是.json的,包括评论(comment),还有设置(config),以及浏览量(counter)这三个。可以直接导出使用。私有部署的twikoo数据存储在./data/文件夹下,数据名称为db.json.0,其实也是.json格式的。把上述三个从云开发导出的.json数据按照这样的方式命名,然后上传覆盖掉./data/下的这三个数据即可,db.json.0对应评论数据(comment),db.json.1对应是twikoo设置数据(config),db.json.2(counter)对应浏览量数据。私有部署的twikoo数据库
评论
大佬,请教一下,Twikoo部署后,评论没有显示IP地址区域,是哪里没有配置好呢。感谢
在后台配置管理里,配置管理–隐私,将show-region设置为true
找到了,感谢指点迷津
有个小问题,套了cdn之后它显示IP地址是cdn节点的ip
是的。这个没啥不妥!
对
我是用docker部署的,因为要迁移服务器,费了很大劲通过twikoo前端面板导入了一部分其他系统的评论,所以不想覆盖.date文件夹了,想问下:在db.json.0文件里直接编辑粘贴进去旧服务器的twikoo数据内容,这个方法可行吗?我试了下显示不了,是不是还需要有其他操作呢?
可行,我就是这样操作的,不需要额外操作。有问题,估计是你用的编辑器有问题,推荐用专业的文本编辑器,比如notepad++
我是用Sublime Text编辑的,我试着通过FTP工具进入docker文件,编辑某一条评论内保存,刷新页面却没变,这是怎么回事呢?
应该是缓存导致的。修改以后可以手动重启docker
成功了!感谢!
twikoo 很早之前就没用了,那时候一个月5元。
https://artalk.js.org/
————
用了很多第三方评论系统,到最后还是发现只有适合自己的最好。
我现在的评论系统是我用”php+txt”存储的,基本功能都用,适合我自己。
大佬,请问一下,第二个跨域问题,http请求头在哪呀?我的是hexo博客,应该写在哪个文件里呀
需要加在twikoo服务里,所以不太好操作。最好像我一样套上CDN,或者使用nginx反代。
那在哪个文件里套上cdn呢?应该怎么操作
是给整个twikoo服务套上CDN。比如部署在服务器的twikoo地址是http://8.8.8.8:8080,在CDN配置界面(我使用的是腾讯云的CDN),添加CDN服务,绑定自己域名,源地址就是8.8.8.8,端口是8080。绑定SSL证书,开启https。然后在CDN配置里,HTTP响应头配置添加Access-Control-Allow-Origin:*,允许被所有域请求。
好的,谢谢大佬!
我已经把twikoo部署到服务器了~
我刚看到别的博客也有因为这个换系统的,这业务貌似涨价幅度还不小
typecho挺好啊
typecho是不错,各方面都很适合个人博客。我是从wp转成.md的,如果再从.md转去typecho太折腾了。
评论跟文章一样重要,所以我现在都放在自己家里。
本地,云端双备份。
字体用上了,不错。
正文及小字部分在电脑屏幕上的确很耐看,标题大字感觉差了些。另外手机端效果不好。
手机端没办法。很多字体用不上。用@mediascreen {font family : initial}吧。
这个是没法,手机电脑难两全。
感觉有点小了
一开始免费,后来6元/月也就算了,现在一下涨到19.9元
嗨
vercel+mongodb真的慢
确实挺慢的 改天我去换成Artalk
其实Twikoo服务器部署也快,但主要是Artalk有控制面板,更方便。
是的