【问题标题】:Unable to get Node.js hello world application working [Fedora 21]无法让 Node.js hello world 应用程序工作 [Fedora 21]
【发布时间】:2016-06-03 13:01:14
【问题描述】:

我正在尝试编写一个 node.js 应用程序,以确保首先设置我的环境。

网络服务器是 Fedora 21,我在防火墙上打开了 3000 端口并刷新了 ip 表。 nmap localhost 指示端口 3000 正在侦听。

我正在使用这个节点应用程序

var http = require('http');
var PORT = process.env.PORT || 3000;

http.createServer(function (req, res) {
  console.log('%d request received', process.pid);
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello world!\n');
}).listen(PORT);

console.log('%d listening on %d', process.pid, PORT);

但是当我将浏览器导航到我的服务器时,我没有收到任何预期的 hello world 消息。

【问题讨论】:

  • 什么都没有,除了最初的收听信息,我什么也没收到。
  • 您正在导航到localhost:3000 对吗?你的代码对我来说很好。
  • 另一个注意事项,使用 lynx 并在 localhost 上导航到它也没有结果
  • 我刚用了firefox,一点问题都没有。
  • 哦,看来我是个白痴,在做 host:3000 的工作。

标签: javascript linux node.js fedora fedora-21


【解决方案1】:

也许检查防火墙规则? IIRC 许多防火墙更喜欢丢弃数据包而不是主动拒绝——因此您可能会发现(最终)Web 浏览器超时。 简单的检查方法: 在一个控制台中,执行: nc -l -p {无论您的 PORT 环境变量设置为什么,或 3000,根据您的服务器逻辑} 在另一个控制台中,做 回声你好 | nc 本地主机 9999

如果您在第一个控制台中看到 hello,您至少可以排除一些 tcp 异常/防火墙问题。

【讨论】:

    【解决方案2】:

    结论我是一个需要再来一杯咖啡的白痴。

    它可以 100% 工作,而不是导航到主机名/webapp 我需要导航到主机名:3000

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-16
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多