NodeJS表示不响应请求

时间:2014-04-29 14:03:28

标签: node.js nginx

我有一个用express制作的nodejs应用程序。

这是我的服务器代码:

var express = require('express');
var server = express();
var build = require('./build');
var logger = require('morgan');
var compress = require('compression');
server.use(logger);
server.use(compress);
server.use(require('method-override'));
server.use(require('body-parser'));
server.use(require('cookie-parser'));



var runBuild = function (params) {
    "use strict";

    var pushData = params.pushData;

    build({branch: pushData.branch},
        function (err, stdout, path) {

        });
};

server.post('/AndroidCIServer', function (req, res) {
    "use strict";


    res.send();
});

server.get('/', function(req, res) {
    res.render('index', { title: 'Express' });
});

server.listen(8089);

runBuild({
    pushData: {
        branch: 'master'
    }
});

我尝试去http://96.44.166.162:8089,但我没有得到回复。我在端口80上安装了一个nginx服务器,如果我转到http://96.44.166.162/,它会响应nginx索引页面。

(IP是外部IP,在VPS中)

发生了什么事?

1 个答案:

答案 0 :(得分:2)

需要调用模块以便它们返回实际的中间件:

server.use(logger());
server.use(compress());
server.use(require('method-override')());
server.use(require('body-parser')());
server.use(require('cookie-parser')());

这样做是因为它允许您轻松地将配置传递给模块,以便按照您希望的方式配置返回的中间件。