Problems starting Ghost 2.25.1 on Debian 9.9

For transparency, I originally posted as a reply in this this thread, but I’m starting a new thread because the old one was marked as resolved before I commented.

  • What’s your URL?
  • What version of Ghost are you using? 2.25.1
  • What configuration? Self hosted on Debian 9.9, Nginx
  • What browser? This is a server side problem, browser independent

After performing an update to 2.25.0 via ghost update I found my blog would not start correctly. There were some errors in the console but, shamefully, I didn’t note those at the time so I’m having to work backwards.

I’ve just upgraded to node v10.16.0 after seeing @pascalandy note that version 6, which I was running, was deprecated (thanks for that pointer).

My blog was running fine until I ran ghost update to upgrade my blog to 2.25.0 (previous version was either 23 or 24, apologies, I didn’t note which). Initially the upgrade complained about the npm version but that’s sorted now (npm 6.9.0).

The Ghost service isn’t running following the upgrade. Indeed, issuing ghost start says:

+ sudo systemctl start ghost_localhost
  Starting Ghost

and then just hangs.

Running ghost run allows the blog to start correctly.

I’ve tried ghost update --force which completed successfully but didn’t resolve the issue. I’ve also now upgraded to 2.25.1 but that does not resolve the issue.

Attempting to start the blog with sudo systemctl start ghost_localhost gives no errors or output although the blog does not come up. sudo systemctl status ghost_localhost shows “Main process exited, code=exited, status=203/EXEC” and that “ghost_localhost.service: start request repeated too quickly”.

Any advice please?


Was yours also an upgrade, like mine, or was yours a clean install @cunidev ?

Deleted and restored the whole blog, was quicker.

@cunidev I’m considering that approach, how easy is that to do? Is there a particular bit of documentation?

I’ve not done much work with Ghost, and a backup / restore isn’t something I’ve had to do yet.

For me it was pretty straightforward to be honest, I downloaded the JSON backup from Labs and copied /content from the root, backed up nginx config (and the whole Ghost dir just in case) purged Node.js from my system, then re-installed it all from scratch and restored the articles from the json. Took an hour or so but at least it works again

First check that you can start ghost manually in the root folder of your blog - if you can then you know its a systemctl issue.

FWIW - a quick google says that systemd service return 203/EXEC failure when ‘no such file or directory’

Perhaps your ghost_localhost links are broken etc. Look at the service definition and trace it through from there.

I see from the other thread that you know its a systemctl issue…

Look in /etc/systemd/system for your ghost_localhost.service - there should be a link to a .service file in your-blog-root/system/files/ghost_localhost.service

Check the content of that .service file - look at the ExecStart entry - check that your /usr/bin/node is working etc.

FWIW I just upgraded about ten blogs on Debian 9 from Node6 to Node10, and 2.23 to 2.25 without any issues.

Many thanks @jeff - the problem was a path inside the systemd unit for the service following the Node move.

ExecStart=/usr/bin/node /usr/bin/ghost run

Path /usr/bin/node no longer existed (confirmed via ls /usr/bin/node). In case others have this problem, find node by using whereis node:

manager@server:~$ whereis node
node: /usr/local/bin/node

Then use a text editor to correct the config line:

ExecStart=/usr/local/bin/node /usr/bin/ghost run

Systemd then needs to be told about the changes, as the unit has changed on disk, by using sudo systemctl daemon-reload.

Ghost can then be started using ghost start or sudo systemctl start ghost_localhost.

Thanks for the help!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.