我最近在我的 AWS ec2 Ubuntu 16.04 服务器上安装了Ghost 1.8.4和Nginx。当我加载我的博客站点时,它正确地将我带到了Ghost主页,从那里我登录了Ghost admin。在管理员屏幕上,有一条要更新的消息。
我在putty中运行了ghost update
更新似乎成功,但当我回到我的博客网站时,我收到以下错误:
502 Bad Gateway nginx / 1.10.3(Ubuntu)
我在/var/www/ghost
访问了我的ghost目录并尝试运行:
sudo service ghost start
但它又回来了:
Failed to start ghost.service: Unit ghost.service not found
并尝试停止,返回Unit ghost.service not loaded
。我是否从正确的位置运行命令?
答案 0 :(得分:2)
在运行它几年后,我经历过几次关于nginx背后的鬼问题。我不确定今天我的原因是否与你的原因相同,但我观察到的是,重启之后ghost已将其端口号更改为与nginx配置正在侦听的端口号不同。
我按照https://www.danwalker.com/running-ghost-on-a-5-digital-ocean-vps/中的这些说明为我解决了这个问题:
查看正在运行的端口ghost:
sudo netstat -plotn
检查它是否与proxy_pass
中nginx配置文件中的/etc/nginx/sites-enabled
匹配。
在我的情况下,nginx配置中的端口增加到2369而实际节点进程在2368上运行。在我的ghost博客的nginx配置文件中将proxy_pass
端口更改回2368解决了我的问题。
答案 1 :(得分:0)
显然,当我发布此问题时,由于Ghost CLI中的一个错误导致幽灵团队正在修复。
他们向我提供了在我的服务器上运行的这些说明:
systemctl stop ghost_www-blogwebsite-com
ghost update --force
结果输出:
stopping Ghost [skipped]
Removing old Ghost versions [skipped]
这解决了问题,并更新为正确的版本。
答案 2 :(得分:0)
升级幽灵后,我遇到了同样的问题。
确保幽灵的配置文件中配置的端口号与幽灵站点的nginx配置文件中的 proxy_pass 相匹配。
检查端口号
/var/www/ghost/config.production.json
与nginx配置文件中的 proxy_pass 端口匹配。
/var/www/ghost/system/files/<yourDomainName>.<extension>.conf
/var/www/ghost/system/files/<yourDomainName>.<extension>-ssl.conf
就我而言,我必须将nginx配置文件中的2368更改为2369以解决此问题。
请确保在进行更改后重新启动幽灵和nginx 。
# restart your ghost site
cd /var/www/ghost/
ghost restart
# restart nginx
sudo systemctl restart nginx
希望这对某人有帮助。