linux - Node - 我的应用程序出了什么问题?

标签 linux node.js

我已经在端口 80 上运行了 httpd,我正在尝试将 Node 应用程序绑定(bind)到端口 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 配置防火墙吗?

最佳答案

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

curl -v http://localhost:8080/

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

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

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

关于linux - Node - 我的应用程序出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16763215/

相关文章:

linux - 使用单个 bash shell 命令获取 gb 中的可用内存

Linux:如何确定已安装的 vfat 卷是否已删除?

linux - 在多个目录中查找文件

c - 是否可以在不使用 file_operations 结构的情况下编写字符驱动程序?

javascript - 使用连接表续写 self 关系

linux - 为什么我不能从 Linux 中永久删除文件?

node.js - nodejs USR2 信号使用 heapdump 杀死进程

node.js - Firebase 和 Express 之间的核心区别是什么?

node.js - 所有 promise 完成后返回值

node.js - Azure "Web apps"服务 : auto-install npm modules from package. json