Flash Sale:75% Off Hosting + Free DomainEnds in13h47m14sView Plans
Hostvento logoHostvento

How to Fix a Ghost 503 Error

This guide helps you fix a 503 error on a Ghost blog. It needs root access, so it is for VPS or dedicated server owners.

Domains and DNS2 min read7 steps4 screenshots

What is a 503 error?

Ghost is a tool for building blogs. It runs as a small program on your server. A web server such as Nginx sits in front of it. Nginx is like a receptionist. It takes the visitor's request and passes it on to Ghost.

A 503 error means "service unavailable". The receptionist is there, but Ghost is not answering. Often Ghost has stopped, crashed or is out of memory.

Steps

  1. Connect to your server using SSH. SSH is a safe way to type commands on a remote computer.
  2. Go to your Ghost folder. The usual place is shown below. Yours may be different.
    cd /var/www/ghost
    This moves you into the Ghost folder.
  3. Check Ghost's status.
    ghost ls
    This lists your Ghost sites and shows if they are running.
    Screenshot: Check Ghost's status. ghost ls This lists your Ghost sites and shows if they are running.
  4. If it says stopped or error, start it.
    ghost start
    This starts the Ghost program.
  5. If it fails, read the log.
    ghost log
    This prints recent messages that explain the problem.
  6. Run the doctor tool.
    ghost doctor
    This checks your setup for common problems.
    503 2
  7. Check Nginx.
    sudo systemctl status nginx
    This shows if Nginx is running. If not, start it with sudo systemctl start nginx.

Common causes

  • Not enough memory. Ghost can crash on a small server. Check free memory with free -m. A bigger server or a swap file can help.
  • Wrong file owner. Ghost wants its own user. Do not run it as root.
    503 3
  • Database problem. Ghost uses MySQL. Check that MySQL is running.
  • Wrong port. Nginx must point at the same port Ghost uses.
Warning: Take a backup before you change files or settings. Use ghost backup or copy your content folder.

Still stuck?

Copy the last lines of ghost log. Then open a support ticket and paste them in.

503 4

Quick recap

  • A 503 means Ghost is not answering Nginx.
  • Run ghost ls and ghost start.
  • Use ghost log and ghost doctor to find the cause.
  • Check Nginx, MySQL and memory.
  • Back up before you change anything.