Twikoo私有化部署

前言

对于使用 Hexo 搭建的静态博客而言,一个稳定、轻量的评论系统是连接读者的重要桥梁。Twikoo 作为目前最受欢迎的开源评论方案之一,除了官方提供的云开发版本外,私有化部署能让你获得完全的数据自主权——不再受限于免费额度,无需担心云厂商政策变动,还能通过自定义二级域名和 SSL 证书实现更专业、更稳定的访问体验。
本文将提供一份从零开始的实操指南,手把手教你通过 Docker 完成 Twikoo 的私有化部署。无论你是习惯命令行的开发者,还是偏好图形界面的宝塔用户,都能找到适合自己的部署方式。内容涵盖域名解析、容器配置、反向代理到证书申请的全流程,特别针对 AnZhiYu 等热门 Hexo 主题给出了详细的对接配置。跟随本文操作,你将拥有一个完全属于自己、独立运行的评论服务。

准备:解析二级域名

建议为 Twikoo 单独分配一个二级域名(如 twikoo.yourdomain.com),便于后期维护和管理。

  • 记录类型:A 记录
  • 主机记录twikoo(或其他你喜欢的二级域名前缀)
  • 记录值:你的服务器 IP 地址

提示:解析生效需要几分钟到几小时不等,可通过 ping twikoo.yourdomain.com 验证是否生效。

拉起Twikoo的容器

方案一:Docker 命令行部署(推荐)

适合熟悉 Linux 命令的开发者,轻量且可控。

1
docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8181:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo

方案二:宝塔面板部署(可视化)

适合不熟悉命令行或已安装宝塔面板的用户。

配置反向代理

直接使用 IP:端口 访问既不优雅也不安全。通过 Nginx 反向代理,可以实现:

  • 使用域名访问(如 twikoo.yourdomain.com
  • 后续支持 HTTPS(SSL 证书)
  • 隐藏真实端口,提高安全性

Nginx 配置示例,在宝塔 “网站” → “反向代理” 中添加:

  • 目标 URL:http://127.0.0.1:8181(即你刚才映射的本地端口)
  • 发送域名:$host

原理:所有访问 twikoo.yourdomain.com 的请求,都会被 Nginx 转发到本地的 8181 端口,由 Twikoo 容器处理。

部署ssl证书

为保证数据传输安全,强烈建议配置 HTTPS。宝塔中操作如下:

  • 在刚才的反向代理站点中,点击 “SSL” 选项卡
  • 选择 “Let’s Encrypt” 免费证书,或上传自己的证书
  • 开启 “强制 HTTPS”

最后再浏览器访问你的Twikoo的域名,以下输出代表Twikoo部署已经完成

开启评论功能

下面可以参考安知鱼主题官方文档开启评论功能

安知鱼主题

到这里Twikoo就部署完成了,最后记得清除缓存和重新生成静态网站

1
2
hexo clean
hexo generate

常见问题

Q:为什么选择私有化部署而非云开发?
A:云开发有免费额度限制(如腾讯云每日读取次数限制),私有化部署只要服务器不宕机就永久可用,数据完全自主可控。
Q:容器重启后数据会丢失吗?
A:不会。-v ${PWD}/data:/app/data 已将数据持久化到宿主机,只要 data 文件夹在,重新运行容器数据依然保留。
Q:评论通知如何配置?
A:访问 Twikoo 管理后台(在评论区点击登录,输入管理员密码),在”设置”中配置 SMTP 邮箱或 webhook 推送。

至此,你拥有了一个完全独立的私有化评论系统!