在生产环境中访问 Ghost AWS Ubuntu 服务器

Accesing Ghost AWS Ubuntu Server in production

我正在尝试通过 http://x.x.x.x:2368 在 AWS Ubuntu 服务器上 访问我的 Ghost 博客 ,但我得到的只是网站无法访问.

以下是我执行的步骤:
- git 克隆了我的博客
- cd myBlog , npm install --production
- npm start 或 npm start --production console 说站点是 运行 OK

配置文件

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

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

        server: {
            host: '127.0.0.1',
            port: '2368'
        }
    },
    development: {
        url: 'http://127.0.0.1:2368',
        database: {
            client: 'sqlite3',
            connection: {
                filename: path.join(__dirname, '/content/data/ghost-dev.db')
            },
            debug: false
        },
        server: {
            host: '127.0.0.1',
        port: '2368'
        },
        paths: {
            contentPath: path.join(__dirname, '/content/')
        }
    },
}

如果我尝试通过 http://x.x.x.x:2368 从我的电脑访问它,我发现无法访问该站点
- 端口 2368 在 AWS 上是开放的,我也做了 sudo ufw disable


使用简单的节点应用程序测试 AWS 端口:

var http = require('http');
var port = 2368;
http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello world!\n');
}).listen(port);

console.log('listening on port', port);

结果 = 有效

这意味着Ghost的配置文件一定有问题?

我认为这与 AWS 设置无关。我会建议您通过 ssh 连接到机器并尝试 wget http://localhost:2368 ,您将知道站点是否为 运行 。

在配置文件中使用以下设置

url : <external IP>:<port>
server : 0.0.0.0
port : port