Hello,

I am having an issue with my Ghost blog crashing every 5 days or so which causes a 502 Bad Gateway Error. To fix the issue, I just have to log in to Digital Ocean and cycle power to the server and everything boots back up and I can access my website again.

How can I prevent this intermittent shutdown behavior?

I have done some research on here and have a few ideas but am not sure where I should start, how to diagnose, and how to test.

  1. Some articles suggest the Ghost mySQL instance causes the crash by triggering an out of memory error.

  2. Another article I ready referred to Cloudflare cache causing hourly CPU spikes which could crash the ghost instance as well.

Possible fixes include: setting up a SWAP partition for memory, tuning the mySQL install using MySQLTuner, and playing with the cache settings in Cloudflare.

I tried to look at the mySQL error logs but I can only ssh to the server after restarting it, and the logs only show the shutdown and restart which I triggered.

I have very low traffic (less than 20 per day). I use ghost blog hosted by Digital Ocean VPS, domain from Namecheap, and Cloudflare for CDN.

Thank you!

These articles seem to describe the symptoms I am having:

https://www.digitalocean.com/community/questions/droplet-consistently-high-memory-usage-causing-out-of-memory-errors-mysql

https://www.digitalocean.com/community/questions/wordpress-mysql-crash

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

Hi there,

I could suggest starting by checking the monitoring graphs for your Droplet via your DigitalOcean control panel. There you will be able to identify if this is caused by a memory spike or a CPU spike.

Also, if this is due to a memory leak in Ghost, I could suggest upgrading your Ghost instance to the latest one. You can follow the steps from the official Ghost documentation here:

https://ghost.org/docs/update/

If you like to be extra safe, make sure to take a backup/snapshot of your Droplet before you proceed with the upgrade so that in case if anything goes wrong, you would be able to revert back to a working version.

Another thing that I could suggest is checking your system logs to see if there are any errors that could point you to the right direction. On Ubuntu, you could find the logs at: /var/log/syslog.

Let me know how it goes!
Regards,
Bobby