Question

502 Bad Gateway After Ghost Upgrade

Posted November 18, 2020 815 views
NginxGhost

URL: https://yqspod.com
Installed on DigitalOcean as 3.37, error occurred after trying to update.

I think maybe something got moved or some permission is to blame here, but I’m honestly brand new to working with SSH & Ghost so I don’t even know where to start. Any help would be kindly appreciated!

Errors encountered:
EACCES: permission denied, open ’/var/www/ghost/.ghost-cli
– To solve I did

chown <user>:<user> /var/www/ghost/.ghost-cli

Also had an issue with config.production.json so I ran

chown <user>:<user> /var/www/ghost/config.production.json

EACCESS: permission denied, mkdir ’(can’t remember the error here, was about making a directory such as 3.38)’.
– To solve I made the dir manually.

When trying ghost update –force I get the error Message: ‘EACCES: permission denied, rmdir ’/var/www/ghost/versions/3.38.1’’
Even though I did chown <user>:<user> /var/www/ghost/versions/3.38.1

Message: 'EACCES: permission denied, rmdir '/var/www/ghost/versions/3.38.1''

Stack: Error: EACCES: permission denied, rmdir '/var/www/ghost/versions/3.38.1'
    at Object.rmdirSync (fs.js:843:3)
    at rmdirSync (/usr/lib/node_modules/ghost-cli/node_modules/fs-extra/lib/remove/rimraf.js:264:13)
    at Object.rimrafSync [as removeSync] (/usr/lib/node_modules/ghost-cli/node_modules/fs-extra/lib/remove/rimraf.js:24$    at Task.downloadAndUpdate [as task] (/usr/lib/node_modules/ghost-cli/lib/commands/update.js:138:16)
    at /usr/lib/node_modules/ghost-cli/node_modules/listr/lib/task.js:167:30
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Code: EACCES
Path: /var/www/ghost/versions/3.38.1

I also did several chown and permission changes I found online.

When I run ghost start:
+ sudo systemctl is-active ghost_yqspod-com
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
+ sudo systemctl is-active ghost_yqspod-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
✔ Checking binary dependencies
+ sudo systemctl start ghost_yqspod-com
+ sudo systemctl stop ghost_yqspod-com
✖ Starting Ghost: yqspod-com
A GhostError occurred.```

When I run ghost doctor
✔ Checking system Node.js version
✔ Checking logged in user
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking system compatibility
✔ Checking for a MySQL installation
+ sudo systemctl is-active ghost_yqspod-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
✔ Checking binary dependencies
✔ Checking free space

When checking /home/paul/.ghost/logs/ghost-cli-debug-2020-11-18T14_53_05_221Z.log
Debug Information:
    OS: Ubuntu, v18.04.4 LTS
    Node Version: v12.18.0
    Ghost Version: 3.38.1
    Ghost-CLI Version: 1.15.2
    Environment: production
    Command: 'ghost start'
Message: Could not communicate with Ghost
Suggestion: journalctl -u ghost_yqspod-com -n 50
Stack Error: Could not communicate with Ghost
    at Server.<anonymous> (/usr/lib/node_modules/ghost-cli/lib/util/port-polling.js:56:20)
    at Object.onceWrapper (events.js:421:28)
    at Server.emit (events.js:315:20)
    at emitCloseNT (net.js:1655:8)
    at processTicksAndRejections (internal/process/task_queues.js:83:21)

After switching to root and checking journalctl -u ghost_yqspod-com -n 50
This message repeats over and over:
- Inspecting operating system
internal/modules/cjs/loader.js:969
    throw err;
    ^
Error: Cannot find module '/var/www/ghost/current/index.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main?module.js:17:47 {
      code: 'MODULE_NOT_FOUND',
     requireStack: []
}
ghost_yqspod-com.service: Service hold-off time over, scheduling restart.
ghost_yqspod-com.service: Scheduled restart job, restart counter is at 3.
Stopped Ghost systemd service for blog: yqspod-com.
Starting Ghost systemd service for blog: yqspod-com.

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 @yourqueerstory,

I just came across this question, I can see that the site is up and running, would you mind sharing how you solved the problem?

It looks like something went wrong during the upgrade process due to the permissions error.

What I would usually do is use the su command to so as the user that Ghost is running as, and then run the update. Otherwise, if you try to run the upgrade command with a user that does not have privileges to the ghost installation it could fail.

Regards,
Bobby