节点 - 我的应用程序出了什么问题?

时间:2013-05-26 20:02:19

标签: linux node.js

我在端口80上运行了httpd,我正在尝试将节点应用程序绑定到8080端口。

这是:

var server = require('http').createServer(function(req, res){

    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
});
server.listen(8080);

显然已经从ssh命令行通过

运行了它
node myApp.js

但每当我在浏览器中输入“http:// my-domain :8080 /”时,它就会挂起并且什么都不给我..

我尝试了一系列不同的端口并监听主机名0.0.0.0,所有这些都给出了相同的结果。

根据建议的评论运行netstat,结果是:

tcp        0      0 0.0.0.0:8080               0.0.0.0:*                   LISTEN      3894/node           

我在nan非托管VPS上使用centOS!

编辑:看起来它是一个防火墙问题,有人能指出我如何配置CentOS VPS防火墙的正确方向。?

2 个答案:

答案 0 :(得分:2)

可能是您的防火墙设置。在服务器上的shell提示符下,尝试使用curl连接。

curl -v http://localhost:8080/

如果您可以通过localhost而不是通过浏览器访问它,那么您很可能遇到防火墙问题。

如果您可以通过localhost访问服务器,那么下一步要做的是通过IP地址从外部测试服务器。如果您可以通过IP地址访问它,那么您有DNS问题。如果您无法从外部通过IP地址访问它,那么您就会遇到防火墙问题。

防火墙问题是特定于平台的。我们需要了解平台,为您指明正确的方向。

答案 1 :(得分:1)

尝试写:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8080);
console.log('Server running ');

.listen(8080);在同一行。

或者从服务器用localhost:8080/运行它可能会从外面阻止