在腾讯轻量应用服务器上部署memos

系统centos,安装了docker,同时在宝塔的“面板设置”里把docker在菜单中显示的选项打开。然后跟着如下步骤走就是了。

  • 靠着老张,部署了memos。 https://laozhang.org/archives/3385.html

  • 中途解决了宝塔面板反向代理删除后的缓存问题。事实证明,删掉那两个文件夹,再清浏览器缓存就搞定。
    https://www.bt.cn/bbs/thread-31411-1-1.html
    这一阶段的问题在于,没有搞清楚宝塔面板中“站点”的概念。后面搞清楚了:

    每一个服务(二级域名)都是一个站点,反向代理针对全站。

  • 把memos数据导入thino的插件
    https://blog.csdn.net/qq_46246106/article/details/13800638
    这个插件我没试过,就是用python的sqlite3功能将db数据文件转换为html再导入thinos,留存作个备手。

  • (寻觅许久之后,我本来以为)这是唯一一个简洁、能让我看懂且让我配置成功的:使用Nginx反向代理将多个服务配置成二级域名访问
    https://zhuanlan.zhihu.com/p/705944193
    实际上宝塔也可以做到,只是我在这个阶段还没有想清楚“站点”这个概念。

  • 吃一堑长一智。升级memos,(自以为)把库给删了。

    Dockers拉取memos之后,会重新指定一个volume,原来的库还在原来的volume里。当时我发现了这个问题,但用旧库覆盖新库总是不成功,只好放弃旧库。隔天试了试才搞明白,覆盖库的操作必须先停止容器,memos在运行中时是不能覆盖数据的。

  • 研究一下443端口能否同时监听多个证书,给memos配加密访问。不想了解其中工作机制的,请直接阅读第3条。
    1、这个链接 里对机制作用的解释更详细。
    2、这几个做的也不错 链接1 链接2 链接3
    3、(最终发现)还是用宝塔来设置最简单,与链接中不同的是,用letsEncrypte的文件验证方式就可以。 链接

  • 然后就开始琢磨memos数据的备份了。灾难性地毁掉了两个docker容器,不得不重新创建。原因以及搞清楚的问题如下:

    试图编辑容器的挂载参数,挂载到另一个volume。但是,但是,但是,Docker在容器创建后是不可以编辑“挂载”等参数的,否则就会报错。好在memos的数据还在,可以迁移过来,停止容器,直接拷到相应文件夹下覆盖即可。数据备份则可以反向操作。但是clouderev就必须重建了,挂载多个volume,参数过于复杂。

至此memos可以用https的二级域名访问、可以备份数据。