1

我的幽灵应用程序出现 502 错误网关。我在整个互联网上进行了研究,但没有找到答案。

我的幽灵 config.js:

var path = require('path'),
    config;

config = {
    production: {
        url: 'http://supetar.italoborg.es',
        mail: {},
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost.db')
            },
            debug: false
        },

        server: {
            // Host to be passed to node's `net.Server#listen()`
            host: '127.0.0.1',
            // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
            port: '2368'
        }
    }
}

我的 Nginx suptar.italoborg.es 文件:

server {
    listen 0.0.0.0:80;

    server_name supetar.italoborg.es;
    root /home/italo/www/supetar.italoborg.es/html;
    index index.html index.htm index.js;
    access_log /var/log/nginx/supetar.italoborg.es.log;

    location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header HOST $http_host;
            proxy_set_header X-NginX-Proxy true;

            proxy_pass http://127.0.0.1:2368;
            proxy_redirect off;

            # Socket.IO Support
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
    }
}

我创建了启用文件夹的符号链接:

lrwxrwxrwx 1 root root 47 Dec 16 12:10 supetar.italoborg.es -> /etc/nginx/sites-available/supetar.italoborg.es

我正在使用 PM2 启动 Ghost APP:

pm2 start index.js

当我尝试使用以下命令启动 Ghost APP 时:

npm start

我可以看到博客,但是当我尝试使用 pm2 时,我的网关很糟糕。

我在用着:

Ubuntu 14.04 64 位

节点 v0.10.13

Npm 2.1.12

谢谢!

4

4 回答 4

2

在 Digital Ocean Ubuntu 实例中升级 ghost 后,我​​遇到了同样的问题。

cd /var/www/ghost  #or your custom ghost dir
ghost ls #lists your ghost configuration

确保ghost 配置文件中配置的端口号与 ghost 站点 nginx 配置文件中的proxy_pass匹配。

检查端口号是否 与nginx 配置文件中的proxy_pass/var/www/ghost/config.production.json端口匹配。

/var/www/ghost/system/files/<yourDomainName>.<extension>.conf
/var/www/ghost/system/files/<yourDomainName>.<extension>-ssl.conf

就我而言,我必须在 nginx 配置文件中将 2368 更改为 2369 才能解决问题。

确保在进行更改后重新启动 ghost 和 nginx 。

# restart your ghost site
cd /var/www/ghost/
ghost restart 
# restart nginx
sudo systemctl restart nginx

希望这可以帮助某人。

于 2019-07-05T15:36:33.483 回答
0

现在,也许,我找到了解决方案,但我还不知道为什么。

我删除了 PM2 并安装了 Forever,你猜怎么着,工作!

为什么?!=)

于 2014-12-16T18:02:13.957 回答
0

为了进一步排除 pm2 故障,我将通过将 Ghost config.js 修改为以下内容从图片中删除 nginx:

server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '0.0.0.0',
        // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
        port: '2368'
    }

然后尝试使用 pm2 启动 Ghost。使用 pm2 运行 Ghost 后,重新添加 nginx。

我们用 pm2 运行了几个站点,并且对它非常满意。

于 2014-12-17T06:49:04.320 回答
0

看起来应用程序运行不正确。可能是出现了启动错误,导致 Ghost 无法打开端口。因此 Nginx 无法将请求转发给 Ghost,只返回“Bad Gateway”。

您可以查看 PM2 的控制台日志,然后您可以确切地看到出了什么问题。

于 2014-12-17T01:02:31.813 回答