【问题标题】:Failed to connect to localhost port 8000: Connection refused in Node.js无法连接到 localhost 端口 8000:Node.js 中的连接被拒绝
【发布时间】:2020-06-26 21:08:51
【问题描述】:

我正在尝试连接到 node.js 中的 HTTP 服务器。 我花了一整天的时间在网上搜索以解决我的问题,但不幸的是,它没有用。

这是我参考官方 Node.js documentation 编写的一个简单代码。

Index.js

const http = require('http');

const requestListener = function (req, res) {
  res.writeHead(200);
  res.end('Hello, World!');
}

const server = http.createServer(requestListener);
server.listen(8080);

我在 CMD 终端中运行的代码

curl localhost:8080

这将返回以下错误:

我知道这个问题已经在堆栈溢出中被问了数千次,但没有一个能解决我的问题。谁能帮帮我?

【问题讨论】:

  • 不是反对者,但问题很明显
  • 更改了我的编辑@GuerricP.. :) 但问题还是一样..
  • 请添加你的nodejs日志
  • 请添加你的nodejs日志和netstat -a -b的输出。你应该看到类似TCP 0.0.0.0:8080 DESKTOP-MOD2A4T:0 LISTENING [node.exe]
  • 你好@GuerricP 这是我的 netstat 截图。 imgur.com/a/MbtGz73

标签: javascript node.js express cmd localhost


【解决方案1】:

在您的代码中,您正在侦听端口 8080,但在命令行中您正在尝试 8000。请确保您使用的是正确的端口并确保其未在使用中。

【讨论】:

  • 嘿 Rajat,更新了我的代码。抱歉错字错误。即使我尝试连接端口 3000,它也会给出相同的错误。:(
【解决方案2】:

当实际文件为C:\Users\prabi\app\index.js 时,您正尝试执行C:\Users\prabi\app\server.js,因此请验证package.json 中的start 脚本并修复它。

【讨论】:

    【解决方案3】:

    启动另一个终端并运行命令:

    节点索引.js

    然后返回之前的终端窗口/选项卡并再次运行 curl localhost:8080。应该可以。

    问题是你的代码写得很好,但你根本没有执行它。因此,如果您不运行节点代码,您的 http 服务器首先无法侦听 8080 端口。

    【讨论】:

    • 运行 node index.js 时终端的输出是什么?
    • 请理解我的意思。您必须运行 node index.js 然后在 单独的终端中运行 curl localhost
    猜你喜欢
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2021-09-08
    • 2015-10-19
    • 2016-10-18
    • 1970-01-01
    • 2019-10-11
    • 2017-05-12
    相关资源
    最近更新 更多