Twikoo 评论系统数据重置指南
建站
0 字 / 约 0 分钟
Twikoo 部署复盘 | 阿里云 ECS + Docker + Nginx + 双域名 HTTPS
记录一次「评论失败」→「完全可用」的踩坑与修复过程
适用:VitePress / 任意静态站、双域名、Docker 运行、Let’s Encrypt 证书
1. 后端部署(Docker 一次性启动)
bash
# 持久化目录
sudo mkdir -p /opt/twikoo/data
# 拉取并后台运行
docker run -d --name twikoo --restart unless-stopped \
-p 127.0.0.1:8080:8080 \
-v /opt/twikoo/data:/app/data \
imaegoo/twikoo:latest
# 验证
curl http://127.0.0.1:8080
# 返回 {"code":100,"message":"Twikoo 云函数运行正常"} 即可Nginx 反向代理(关键配置)
nginx
# 文件:`/etc/nginx/sites-available/chiplayout`
# 80 统一跳转
server {
listen 80;
server_name chiplayout.net www.chiplayout.net chiplayout.top www.chiplayout.top;
return 301 https://$host$request_uri;
}
# 443 双域名共用
server {
listen 443 ssl http2;
server_name chiplayout.net www.chiplayout.net chiplayout.top www.chiplayout.top;
ssl_certificate /etc/letsencrypt/live/chiplayout.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chiplayout.net/privkey.pem;
include /etc/nginx/snippets/ssl-params.conf;
root /web/vitepress/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# === Twikoo 精确代理 ===
location = /twikoo {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_request_buffering off;
proxy_redirect off;
}
}启用并重载:
bash
sudo ln -s /etc/nginx/sites-available/chiplayout /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx申请 / 续期 HTTPS 证书
bash
sudo apt install certbot python3-certbot-nginx -y
# 多域名一张证书
sudo certbot --nginx -d chiplayout.net -d www.chiplayout.net \
-d chiplayout.top -d www.chiplayout.top
# 自动续期测试
sudo certbot renew --dry-run前端调用(最小可用片段)
html
<div id="twikoo"></div>
<script src="https://cdn.jsdelivr.net/npm/twikoo@1.6.44/dist/twikoo.all.min.js"></script>
<script>
twikoo.init({
envId: 'https://chiplayout.top/twikoo/', // 与 Nginx 路径完全一致,末尾无 /
el: '#twikoo',
lang: 'zh-CN'
})
</script>常见坑速查
| 现象 | 根因 | 修复 |
|---|---|---|
| 评论失败「云函数运行正常」 | 请求体为空 | location = /twikoo + proxy_pass http://127.0.0.1:8080; 末尾无 / |
404 // | 多一层斜杠 | 前端 envId 与 proxy_pass 保持 一个斜杠 差异 |
| 跨域 | 协议/域名不一致 | 前后统一 https |
| 空响应 | body 被缓冲 | 加 proxy_request_buffering off; |
## 备份与更新
bash
# 备份评论数据
tar zcf twikoo-backup-$(date +%F).tar.gz -C /opt/twikoo/data .
# 更新镜像
docker pull imaegoo/twikoo:latest
docker stop twikoo && docker rm twikoo
# 用同一命令重新 run(数据卷还在)验证通过
浏览器访问:
- https://chiplayout.net/twikoo →
{"code":100,...} - 任意文章页提交评论 → 实时刷新出现 → 后台
docker logs -f twikoo可见{event:"commentSubmit",...}
至此 Twikoo 全链路打通,备忘完毕 ✅
重启&&查看
bash
docker restart twikoo
docker ps | grep twikoo