博客想开评论,Disqus 广告多又慢、还要第三方账号;大厂评论组件要么要备案、要么随时停服。Cusdis 是一个开源轻量评论系统,隐私友好、可自托管,一段脚本嵌进页面就能用。本文用一台雨云 KVM 云服务器,Docker 一把拉起 Cusdis,配 HTTPS 反代,给自己的站点加个干净留言区。
一、先准备一台雨云 KVM 云服务器
Cusdis 很轻,1 核 1G 足够,需要 7×24 在线、有公网 IP、绑域名走 HTTPS(评论组件与后台都要 https)。想低成本起一台可以看国产高性价比云服务器,比如雨云:KVM 虚拟化、Debian/Ubuntu 镜像任选,新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,支持 7 天无理由退款。挑机器可参考 VPS 怎么选不踩坑。
我选 Debian 12。前提:你已有一个能改页面的网站(静态博客、雨云手动搭建 LNMP 站点等)。基础安全按 VPS 到手第一件事做什么 走一遍,本文默认你已开 ufw。后台走 3000,放行即可。
二、用 Docker 拉起 Cusdis
Cusdis 默认用 SQLite(也支持 MySQL/Postgres)。装 Docker:
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
建目录并写 docker-compose.yml:
mkdir -p /opt/cusdis && cd /opt/cusdis
version: "3"
services:
cusdis:
image: lizheming/cusdis:latest
container_name: cusdis
restart: unless-stopped
ports:
- "3000:3000"
environment:
- NEXT_SERVER_PORT=3000
- PORT=3000
- DATABASE_TYPE=sqlite
- NEXT_PUBLIC_HASH_SALT=随机长字符串
volumes:
- ./data:/data
NEXT_PUBLIC_HASH_SALT 用 openssl rand -hex 32 生成,用于隐藏身份验证码的哈希。启动:
docker compose up -d
浏览器先开 http://服务器IP:3000,能进设置页说明服务正常。
三、配 HTTPS 反代
评论组件要嵌到 https 页面,自身也得 https,否则被混内容拦截。用 Nginx 反代 3000:
server {
listen 80;
server_name cusdis.example.com;
location / { return 301 https://$host$request_uri; }
}
server {
listen 443 ssl;
server_name cusdis.example.com;
ssl_certificate /etc/letsencrypt/live/cusdis.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cusdis.example.com/privkey.pem;
client_max_body_size 10m;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
}
申请证书:certbot --nginx -d cusdis.example.com。放行端口:
ufw allow 80/tcp
ufw allow 443/tcp
ufw reload
四、嵌进你的网站
- 后台「设置」里建一个项目(填你的网站),拿到 App ID(即
data-app-id)和后台地址。 - 在网站每篇需要评论的页面,加这段脚本(换成你的域名与 App ID):
<div id="cusdis_thread"
data-host="https://cusdis.example.com"
data-app-id="你的AppID"
data-page-id="文章唯一ID"
data-page-url="页面URL"
data-page-title="页面标题">
</div>
<script async src="https://cusdis.example.com/js/cusdis.es.js"></script>
- 刷新页面,评论框出现。新评论默认进审核,后台「Comments」通过后才公开。
五、踩过的坑与经验
- SALT 要固定:
NEXT_PUBLIC_HASH_SALT一旦改了,已存的身份验证码哈希就对不上、老评论可能显示异常。首次就设好、写进 compose 别以后乱改。 - 必须有 https:组件与后台任一端 http,评论框会被浏览器当作混内容拦掉、不渲染。两端都 https 才稳。
- page-id 要唯一:同一篇文章用稳定
data-page-id(如 slug),否则评论会串到别的页。动态站用文章 ID。 - 审核机制:默认新评论进审核,别以为「发了没显示」是坏了,去后台通过即可。垃圾评论直接删。
- 后台暴露:评论后台路径固定,建议加 Basic Auth 或限制来源 IP,详见 VPS 安全配置实战。
- 数据备份:SQLite 在
./data目录,定期tar czf打包;异地思路见 雨云快照备份与对象存储。
小结
评论区是「作者和读者之间的桥」。Cusdis 轻、隐私友好、自托管,一段脚本就能给博客接上,数据在自己服务器。常驻轻量组件很适合雨云这类低价稳定 KVM——优惠码 admin01 五折、7 天无理由退款,跑评论服务很合适。
合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的网站评论,务必开启评论审核、履行个人信息保护与内容安全义务,不得利用本服务传播违法违规评论内容。






