Dreamer2q Blog
见到,不如不见
Dreamer2q

Code is cheap, talk is expensive

64日志

将Typecho搬迁到Docker里

创建于 2020-12-30 共 1708 字,阅读约 7 分钟 更新于 21-02-15 14:01
浏览 54评论 0

之前写过关于博客从hexo搬迁到typecho的记录



只不过当时只有一台轻量云,配置感人。后面又买了一台腾讯轻量云,加上一台阿里云 ECS 算是有三台了吧。


虽然数量多了,但是质量不变啊,不过应付一下博客应该没啥问题啦。


加上最近学习了 Docker 才知道,原来 docker 是多么的香


所以就萌生了把博客搬进docker里面,使用traefik进行反代的想法


有了想法就有了第一次的尝试,只不过但是一直卡在ssl这一关卡,导致css无法展示。


就没咕咕了一段时间,知道最近发现解决的方法很简单,就是在配置文件加入一句话


/** 启用https **/
define('__TYPECHO_SECURE__', true);


这样typecho就会请求https链接,测试一下everything is ok


这样docker版本的typecho算是完成了,具体可以参考下面链接



小插曲


在我折腾 Docker 的时候有个小插曲,因为但是我对ingresshost分不清,就不小心把mongodb的端口暴露了出来


然后几天后,就发现了 mongodb 里面的数据没了,取而代之的是一条勒索记录)


image


不过好在里面只有一些爬虫数据,被删了也没啥损失的,就当作一个不痛不痒的教训吧。


Traefik 网关


由于有了多台机器,自然而然的就组成了一个swarm,为了便于管理又装上了portainer


所实话我对swarm模式下节点之前的连接有很多困惑,为了能让不通地区的机器组在一起,就用上了zerotier(这里也才有坑)。


关于traefik的介绍



这里说一下我选择的原因,最重要的原因是配置简单(最好能进行图形化配置,不想每次都要去修过 nginx 配置文件,因为修改完文件还需要 reload 配置文件不方便)。此外还要对 docker 友好,能直接用在swamr模式上。


总上traefik是最合适不过了,只不过可能因为我太菜了,看traefik的文档有点云里雾里的(不知是不是文档写的比较差劲)


关于 Traefik 的安装使用就不累述了,官方文档写的足够了。


只不过有一个想法没有实现,我已经有acme.sh申请的泛证书了,我想让 traefik 来使用这个证书,让acme.sh去自动更新,这样就不用每次开一个新的子域名都去重新申请了。


最后只能让traefik去自己申请证书了(也是挺方便的)


此外最新的traefik支持plugin

无需编译,使用 Go 源码


备份


我个人理解的备份是做容灾使用的,大如 Google 也在近期出现过全球服务不可用事故。

所以在多处进行备份还是很重要的。


其实备份还要一个很重要的作用就是,防止自己作死把数据弄没了


作死的原因有很多,比如说手贱,神经错乱,意外...


小提示,尽量开始rm的交互开关,

我曾经一不小心把自己写到一半的代码文件删掉了。


备份有很多种类型,因为我的数据不是很多,就直接全量备份即可。


思路很简单,定时任务,导出 sql,拷贝到其它存储地方。


这里我将阿里oss挂载到了/oss下面,备份的时候只需要拷贝进来即可


这里写了一个简单脚本用来备份 docker 中的数据库


#!/bin/bash