消失了几个月没管博客,一个不留神,Twikoo
评论就寄了。研究了一下发现是腾讯的云服务开始收费了。原本有一个月的缓冲迁移时间,但是我一直不关注腾讯云的消息的,所以错过了。刚进去一脸懵,随便瞎点把之前的项目也点没了。。。。所以之前的评论就都没了。
昨天试着用了一下Waline
,现在开发者做的很不错了,部署也很简单,邮件提醒也可以。但是我的站点有三个主题,其中“一隅”分站(主题为Cards
)并不支持Waline
,自己鼓捣了半天想添加一个,然后也没结果,就用来必力
了(体验并不好)。
总还是有点不甘心,今天又看了一下Twikoo 文档,尝试用 MongoDB + Vercel
部署,成功是成功了,但是国内效果并不好,总是超时(基本就成为了摆设)。
遂又摸索,利用自己的服务器做私有化部署,相对来说繁琐一些(这里用的是docker),但是效果很好。这里记录一下过程。
前提:需要在服务器中安装docker,这里不做说明,网上教程很多。
拉取镜像
sudo docker pull imaegoo/twikoo
创建并启动容器
sudo docker run -p 8099:8080 -v /root/twikoo/data:/app/data -d imaegoo/twikoo
这里需要把服务器的
8099
端口打开(用到的是阿里云的服务)
测试
twikoo:
envId: http://服务器ip:8099
正常情况下访问http://服务器ip:port
,即twikoo的服务地址,可以看到如下运行状况
理论上这样部署就可以了,但鉴于我的网站配置过https,由于twikoo本身并不支持https,因此还需要做反向代理。
查阅了一些资料,看到了一个不错的解决办法:通过多个域名、多个ssl证书、用https再代理一个端口
如我这里就是:twikoo.cnhuazhu.top
需要注意的是,这里申请证书的绑定域名为上一步添加的子域名:twikoo.cnhuazhu.top
将上一步申请的证书下载下来,放到服务器上。
例:我的存放路径:/etc/nginx/cert
将两个文件twikoo.cnhuazhu.top.key
和twikoo.cnhuazhu.top.pem
放入该目录下。
进入目录/etc/nginx/sites-enabled
,在其中新建一个文件:twikoo.conf
,并写入如下内容:
upstream twi {#需要配置upstream
server cnhuazhu.top:8099; #你的域名+加端口
}
server {
listen 443 ssl;
server_name twikoo.cnhuazhu.top; #子域名
ssl_certificate /etc/nginx/cert/twikoo.cnhuazhu.top.pem;
ssl_certificate_key /etc/nginx/cert/twikoo.cnhuazhu.top.key;
# ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
ssl_prefer_server_ciphers on;
location / {
#proxy_pass http://localhost:8099;
proxy_pass http://twi;
# add_header Access-Control-Allow-Origin "*" always; #这个不要加
# add_header Access-Control-Allow-Methods "POST, GET,PUT,DELETE, OPTIONS";
# add_header Access-Control-Allow-Headers "Origin, Authorization, Accept";
}
}
保存,重新启动Nginx服务
sudo service nginx restart
如此便实现了:访问https://twikoo.cnhuazhu.top
,Nginx 会将转发到http://cnhuazhu.top:8099
。实现反向代理。
修改envId:
twikoo:
envId: https://twikoo.cnhuazhu.top/
保存,重新部署。最后配置twikoo面板就可以了。
由于我没有涉及迁移评论内容的需求(其实原本可以有),这里就不再介绍了。详细可以看参考文章。
参考文章: