技术

Ghost博客迁移至阿里云Docker

刚刚,将Ghost博客迁移到了阿里云Docker上。

由于近期网络问题,导致家里的NAS已经无法提供443端口的服务了,之前的临时解决方案是将hadb.me的域名解析到DigitalOcean的一台机器上,然后用nginx转发到NAS的20443端口,通过海外的服务器做了中转,访问速度可想而知。并且近期海外网络极不稳定,最终决定还是老老实实备案,迁移到阿里云上来。

近年来,Docker容器化越来越火,我最近的几个项目也都是通过Docker来部署的,非常方便。

域名备案经历了几波周折,提交备案后,阿里云初检未通过,有如下问题:

  1. 根据要求已经取得备案号的网站最下方必须显示您的备案号,并能链接到工信部网站www.miitbeian.gov.cn,目前您网站“monkeyrun.net”最下方备案号无法链接工信部网站,请您修改
  2. 根据要求网站名称必须与主办单位名称有一定的关联性。您备案的网站名称“HADB的博客”与主办单位名称“上海猿奋网络科技有限公司”没有关联性,请修改
  3. 根据要求域名持有者必须与主办单位名称一致,经查询您的域名“hadb.me”持有者与您备案信息中“邓斌 ”单位名称/法人姓名不一致,请您先办理域名过户
  4. 根据管局要求域名有效期需要大于6个月,您的域名“hadb.me”有效期不足6个月,请您修改
  5. “邓斌”证件号码在多个单位/个人备案中重复出现多次,根据要求,一个证件号码只能出现在一个单位/个人备案下,请您更换其它证件

问题1、2改起来都还好,很快改完了。

问题3操作的过程中遇到了一个很蛋疼的问题。域名原先在Godaddy上购买的,在过户前,手贱把域名里的持有者信息修改了下,从英文名改成了中文品拼音,然后就尴尬了,Godaddy禁止域名转出了,锁定期貌似60天,后来给Godaddy打中文客服,一个妹子客服跟我说可以给review60@goaddy.com发邮件申请解锁,发了邮件一天没回复。又打电话过去,这次是个男客服接的,他跟我说,这个锁定期是没办法解锁的,巴拉巴拉,口径竟然不一样。后来Godaddy的review60团队回复我邮件了,说已经解锁了60天的锁定期。如果有遇到同样问题的朋友,可以尝试给review60团队发邮件就可以解锁了。但是在万网进行域名过户的时候,一直提示“该域名产品暂时不允许转入,无法进行转入操作”,查了下,万网目前不支持.me域名的新注册和转入。后来就尝试了下直接提交,没有做过户操作,也通过了初审。阿里云这里要求的过户其实是非必要的,只需要把持有者信息修改就可以了。

问题4续费了下就可以了。

问题5,也费了些功夫。几年前上大学时,一个外包项目中用的我自己的身份证作为网站负责人备案的。之前一直没有要求说一个证件号码只能出现在一个备案下,不过既然现在提示了这个问题,那就去处理下。由于这个外包项目已经停止了,并且甲方的网站也已经不做了。所以处理起来很简单,直接登录原备案账号,把备案号注销掉就可以了。

几经周折,备案号终于下来了,接下来开始处理部署的问题。

在阿里云上部署与在自己的机器上部署Docker有些区别。

具体流程如下:

  1. 购买阿里云文件存储NAS服务,用来存放Docker数据卷
  2. 在ECS上挂在NAS,将以前的博客数据复制到NAS中的/ghost-hadb-data目录下
  3. 容器服务中创建NAS类型的数据卷ghost-hadb-data,指向/ghost-hadb-data目录
  4. 创建应用,简单路由配置,将hadb.me指向容器端口2368,选择刚刚创建的数据卷,容器路径为/var/lib/ghost/content,在环境变量中配置url为https://hadb.me/
  5. 配置负载均衡,添加https协议443端口监听,导入证书
  6. 将域名解析切换到负载均衡ip地址

Done!以后可以愉快的写博客啦!

您已成功订阅 HADB.ME
真棒!下一步,完成结账以便解锁 HADB.ME
欢迎回来!您已登录成功。
登录失败,请重试。
操作成功!您的账户已全面激活,现在您有所有内容的权限了。
错误!Stripe 结账失败。
成功!您的账单信息已更新。
错误!账单信息更新失败。