00:00:00
Twikoo使用
实战-docker部署twikoo-20250308(测试成功)
1、docker部署
- 配置
bash
mkdir /root/twikoo
cat >>/root/twikoo/docker-compose.yaml <<EOF
version: '3'
services:
twikoo:
image: imaegoo/twikoo
container_name: twikoo
restart: unless-stopped
ports:
- 8080:8080
environment:
TWIKOO_THROTTLE: 1000
volumes:
- ./data:/app/data
EOF
cd /root/twikoo
docker-compose up -d
- 验证
bash
[root@wiki ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7ccf9098a28c imaegoo/twikoo "docker-entrypoint.s…" 28 hours ago Up 17 hours 0.0.0.0:8080->8080/tcp twikoo
[root@wiki ~]#
- 扩展:docker版本
bash
docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo
- 官方文档:
https://twikoo.js.org/backend.html
==Twikoo 目录结构:==
在私有部署的情况下,在你执行 tkserver 的时候,就会在当前目录创建:
- data 文件夹:存放评论数据、配置等
- tkserver.log:日志文件
因此,有必要在你自己指定的目录下启动 tkserver,方便后期的数据备份、日志分析等。
如果你使用的是 Docker,在上述命令里其实也用了 ${PWD}/data
来指定数据文件的目录,请自行选择。
bash
[root@wiki ~]# cd twikoo/
[root@wiki twikoo]# ls
data docker-compose.yaml
[root@wiki twikoo]# ls data/
db.json db.json.0 db.json.1 db.json.2
[root@wiki twikoo]#
2、配置 https
理论上这样部署,就完成后台的部分了,但鉴于我的网站用了 HTTPS,而 Twikoo 本身并不支持,因此还需要做反向代理。
接下来的步骤如下:
- 再申请和购买一个 SSL 证书
- 配置 cname
- 下载证书放到 Linux 服务器上
- 配置 Nginx 反向代理
购买 HTTPS 证书,这里我用二级域名的:
然后在云服务器控制台上配置 cname:
我的配置:
- 我的配置:(注意作者和我这里的配置哦😜😜😜)
bash
cd /etc/nginx/conf.d/
vim twikoo.onedayxyy.cn.conf
[root@docusaurus-wiki conf.d]# cat twikoo.onedayxyy.cn.conf
server {
listen 80;
server_name twikoo.onedayxyy.cn;
#配置https重定向
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name twikoo.onedayxyy.cn;
location / {
proxy_pass http://云服务器ip:8080/; # 实际的后台路径
client_max_body_size 100M;
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;
}
ssl_certificate /etc/letsencrypt/live/onedayxyy.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/onedayxyy.cn/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000";
access_log /var/log/nginx/photo.onedayxyy.cn.https.log;
}
nginx -t
- 重启下nginx
nginx -s reload
- 验证
这样,访问 https://twikoo.peterjxl.com/,就会转发到我的服务器 IP:8080 ,完成反向代理:
结束。