我正在使用iisnode来托管节点应用。我在我的域名下实际部署它时遇到了麻烦。这是主文件,有两个不同的起点。未注释的代码只是一个简单的服务器,通过我的域访问时可以正常工作(因此iisnode正确映射和处理节点应用程序)。注释代码是我正在处理的快速应用程序的入口点,当我从本地主机查看时,这是有效的,但是当尝试通过我的域访问时,我收到“无法获取应用程序.js”错误。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello, world!');
}).listen(process.env.PORT);
//require('./app/init');
//var server = require('./app/server');
//module.exports = server.start(process.env.NODE_ENV);
这是我的server.js文件。我认为这是一个路由问题,我已经为indexRoute函数替换了一个console.log函数,它永远不会触发。但是我仍然不明白为什么这可以通过localhost正确访问,但不能在我的域下访问。
var express = require('express');
var routes = require('./routes');
var app = express();
function createApplication(environment) {
app.get('/', routes.indexRoute);
app.listen(process.env.PORT);
return app;
}
module.exports.start = createApplication;
如果有兴趣的话,我可以发送完整应用的git链接。
答案 0 :(得分:2)
尝试通过添加“0.0.0.0”作为监听参数来指定您要监听所有IP地址,而不仅仅是localhost。还要添加回调以查看发生的情况。
app.listen(process.env.PORT, '0.0.0.0', function(err) {
console.log("Started listening on %s", app.url);
});