Since the previous Ghost update process was not as painless as advertised, I delayed getting version 1.8.6 for quite some time. Only the need of renewing my LetsEncrypt SSL certificates, also requiring some small downtime for the sites, got me to finally get up to date.
The first update went flawlessly and the one for this blog seemed to be just as fine. You can access your blog at https://itsybitsybytes.com, Ghost proudly announced me, only to be welcome by a big and ugly 502 Bad Gateway error screen...
I was not the only one who encountered a 502 Bad Gateway Error after a Ghost Upgrade but my case was different. There was no error during the start and restart of Ghost and the log was just as clean.
The next step was checking the official Ghost upgrade troubleshooting page but the instructions there were also completely useless...
If you browser shows 502 Bad Gateway, then your Ghost blog is not running.
Please navigate to your Ghost installation folder and run ghost ls to check wether your instance is running.
If it's stopped, please run ghost start. You can also run ghost log -f to watch the Ghost log.
My instance did ran and
ghost start did nothing. It seemed to be another kind of problem.
The Ghost-CLI Github issues page did not contain any useful tips, just a plethora of different issues. Again I found myself without a solution.
The problem seemed to be a Node/npm related, since running the debugging command
sudo ghost run had thrown an error with the
moment-timezone module but reinstalling it or applying a
npm update did not achive anything.
After a whole night of downtime what fixed my problem was a complete reinstall of the node modules.
rm -rf-ing the
node_modules folder, followed by a
npm install and a new
ghost start got my blog up and running again.
I'm still not sure what happened but in the future I will keep in mind that removing and reinstalling all the node packages can be a solution.