收集了一些Ghost2.x升级时可能会遇到的问题,解决方法全部来自网络,本文只做收集。服务器系统使用Debian9。

几个月前看到Ghost发布了小版本更新,自从有了ghost-cli之后更新方便了很多,就顺手升了个级。今天打开博客本来想看看草有几米高了,却提示https证书过期,一脸懵逼。按照官方文档ghost setup ssl,结果说已经配置了ssl,跳过步骤,还提示着ghost-cli版本过低,建议升级ghost-cli版本,然后按照提示升级了ghost-cli,继续ghost setup ssl,紧接着第一个坑来鸟。

ghost-cli 版本升级不成功

还是提示需要升级ghost-cli,打算跳过这个坑先升级ghost再说,却发现升级ghost必修先要升级ghost-cli..用ghost-v看版本确实没有升级,但是明明提示已经升级了。最后附上解决思路Upgrading to v3 failure 大意是系统的环境变量和npm全局安装的目录不符,需要根据系统的实际情况修改。如果不知道怎么改的这里附上一个粗暴的方法,没试过但是应该可行的。先which ghost找到ghost-cli的路径,然后CD到目录里直接升级ghost-cli,注意不要使用全局安装,此时ghost-cli应该就更新成功了。

ghost start 卡住很久然后报错,ghost run 没问题

ghost-cli不顺利的升级好后继续升级ghost,升级过程中提示主题不兼容ghost3.x,只能暂时先停止升级,以后有时间先修改下主题。此时ssl问题还没有解决,遇事不决先重启,管它三七二十二,直接重启ghost,然后就卡住了,卡住了...大概一两分钟后报错启动失败,隐隐约约感觉时systemctl的问题。附上解决方案Problems starting Ghost 2.25.1 on Debian 9.9 因为前面升级ghost-cli动过目录后systemctl配置文件里的目录没有自动更新,手动改成对应的目录然后重载systemctl就可以啦。

最后 SSL 证书没有自动更新

ghost ssl证书更新使用的是acme.sh,需要更新acme.sh后使用,解决方法Lets Encrypt SSL no renewals were attempted

---------------------------窝是分隔线-----------------------------------

最后希望下周能把前几周没填的博文填一下(>_

最后的最后,辣鸡 Ghost 毁我青春!

2020年7月28日更新,acme.sh使用dns的txt记录验证时文档上说的namesilo需要等待900秒似乎还不够,使用namesilo自带域名解析服务的同学们可以适当加长时间。