Twikoo评论系统私有部署

安装nodejs

ubuntu服务端使用n模块安装Node.js

安装Twikoo server

npm i -g tkserver
安装不了记得使用nrm换源
  • 根据需要配置环境变量,所有环境变量都是可选的(参考 )
名称 描述 默认值
MONGODB_URI MongoDB 数据库连接字符串,不传则使用 lokijs null
MONGO_URL MongoDB 数据库连接字符串,不传则使用 lokijs null
TWIKOO_DATA lokijs 数据库存储路径 ./data
TWIKOO_PORT 端口号 8080
TWIKOO_THROTTLE IP 请求限流,当同一 IP 短时间内请求次数超过阈值将对该 IP 返回错误 250
TWIKOO_LOCALHOST_ONLY true时只监听本地请求,使得 nginx 等服务器反代之后不暴露原始端口 null
TWIKOO_LOG_LEVEL 日志级别,支持 verbose / info / warn / error info
TWIKOO_IP_HEADERSTWIKOO_IP_HEADERS 在一些特殊情况下使用,如使用了CloudFlare CDN它会将请求IP写到请求头的cf-connecting-ip字段上,为了能够正确的获取请求 IP 你可以写成['headers.cf-connecting-ip']

启动Twikoo server并访问http://服务端IP:8080测试(参考 )

tkserver # 启动服务
nohup tkserver >> tkserver.log 2>&1 & # 后台启动服务
kill $(ps -ef | grep tkserver | grep -v ‘grep’ | awk{print $2}) # 停止服务
netstat -apn # 查看端口占用情况

申请ssl证书并在DNS服务商处添加twikoo.mufei.fun的解析,然后配置nginx前置代理实现HTTPS访问

# twikoo本地部署配置
server {
     listen 443 ssl;
     server_name twikoo.mufei.fun;
     ssl_certificate /etc/nginx/cert/twikoo.mufei.fun.pem;
     ssl_certificate_key /etc/nginx/cert/twikoo.mufei.fun.key;
     ssl_session_timeout 5m;
     ssl_protocols TLSv1.2 TLSv1.3;
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;

     location / {
       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_set_header REMOTE-HOST $remote_addr;
       proxy_pass  http://localhost:8080;
     }
}
server {
 listen 80;
 server_name twikoo.mufei.fun;
 return 301 https://$host$request_uri;
}

在博客配置文件中配置envld,然后在网站评论区设置管理登录密码。

添加表情包

设置里添加