Bye wordpress, hello gohst!

最近想整理一下自己的手机相册,清理多余图片;于是想到电脑上很多文件也没整理,然后想到我的私有云,再想到我的本地服务器磁盘不怎么大,有点想扩容;然后想到本地服务器的内存都被gitlab消耗了,生气地想要换gogs,于是在本地服务器中用docker部署了gogs;然后开始想域名并且嫌弃了当前的.xyz后缀,期待使用itmx.cc可惜cc后最依然不能备案,便考虑使用香港服务器。
登录阿里云之后,算了一下价格,最低配置1M带宽都要628,贵在带宽啊
---------
于是打开京东云百度云滴滴云华为云七牛云腾讯云西部数码等所有能想到的云,比了一下价,还是阿里云最便宜。真香!找着找着吧,发现学生优惠页面有一行小字*24岁以下自动获得学生身份,可喜可贺,我还是个学生呐!再纠结了一会到底要不要入手香港机之后,最终决定把ppc.fun备案好拿来用,刚好这台服务器还能申请备案号,别浪费了。
---
这么舒服的配置,如此诱人的价格,还等什么!
----
于是开始迁移云主机上的程序,主要得益于docker方式部署,迁移起来毫无压力

#下线各服务,分别进入到项目文件夹执行
docker-compose down
#项目文件打包带走
tar -zcvf docker.tar.gz /data/docker/
#有些镜像懒得在新机器上构建,也带走
docker save -o images.tar nginx-proxy:temp frps:1.0 ...此处省略更多镜像名

把得到的两个压缩包通过sftp传输到新机器,先执行以下命令安装属性的环境

#install-docker-for-centos7.sh

#!/bin/sh
yum install unzip lrzsz iftop git -y

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

#sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io

sudo systemctl enable docker

sudo systemctl start docker

sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
docker -v
docker-compose -v

紧接着开始解压刚刚传过来的压缩包

tar -zxvf docker.tar.gz
docker load images.tar
#然后进入到各项目目录,执行
docker-compose up -d

最后登录阿里云修改域名解析,等几分钟就好了

然鹅!!我的wordpress却出错了,我的网站是https的,css、js和图片却使用http来请求,当然请求不成功了,网页排版瞬间回到wap时代。初步断定,这锅该由插件jetpack来背!具体原因不去找了。正好嫌弃wp速度慢也好一段时间了,于是搜索替代品:

  • 不能是PHP写的,对php-fpm没有好感,对安装php扩展更没好感,想起gd库的安装,在docker中加依赖那网速已经让我决定再也不要触碰php了
  • 不能是Java写的,穷,没内存
  • Node.js 也不太喜欢,因为前端项目npm给了我很不好的印象,太痛苦了
  • 最好是go写的,最近也在玩go,编译之后体积小速度快
  • 想要Hexo般的速度,却又不喜欢在命令行里写文章,希望有个轻量级的管理后台

最后决定了Gohst,虽然是Node.js写的,但是快啊,而且docker部署,默认使用sqlite啊,真香!

接下来就是迁移工作了,查询资料得到的结论都是:

  1. 在wp的后台安装CDN插件,这样导出的文章当中的url就是cdn地址了,不用担心找不到图片
  2. 在wp的后台安装Ghost插件将文章导出
  3. 安装第三方插件解决评论数据的同步,网站目前没有评论,所有不关心这个
  4. 在gohst后台导入文章数据

我想了想,不就是图片地址的问题吗,我本来就希望我的博客小巧玲珑,不去依赖任何第三方服务和插件,为什么还要我搞个云存储什么的,而且我的wp一会肯定是down掉的,云存储也要回源啊,帮不了我。
于是我打开wp导出的json文件,找到文章中的图片地址,发现规律:我只要关闭了wp的jetpack插件的加速功能,导出的图片的地址就是当前网站的路径,我只要将wp-content/uploads文件夹内的文件拷贝到ghost的content/images再替换一下导出的json文件内的图片地址岂不美哉:
-----1
替换完导入之后,图片问题简直完美解决

评论