【问题标题】:Node.js localhost:3000 refuses to connectNode.js localhost:3000 拒绝连接
【发布时间】:2021-09-25 21:40:56
【问题描述】:

我是 Node.js 的初学者,我无法连接到 localhost:3000

我在VS代码中使用如下代码,在终端点击“node app.js”,此时终端没有报错。 但是,当我尝试访问 localhost:3000 时,它一直拒绝:“ERR_CONNECTION_REFUSED” 我在互联网上搜索解决方案并尝试通过在安全设置上创建入站规则来打开端口,打开 IIS,改为使用 127.0.0.1,但仍然被拒绝。有谁知道如何解决这个问题?

我使用的是 Windows 10


const http = require('http');

var server = http.createServer(
    (request, response)=>{
        response.end('hello');
    }
);

server.listen(3000);

【问题讨论】:

  • 它是否适用于端口 80?
  • 程序有输出吗?还是沉默?如果它是静默的,请尝试添加一些日志记录调用以检查程序是否实际正在执行
  • @MRonline 否。当我这样做并浏览 localhost:80 时,它会将我定向到显示“Internet 信息服务”的 localhost 默认页面
  • @MickelsonMichael 感谢您提及。其实好像没有……
  • 天啊,我意识到这甚至与运行和调试无关。似乎我所要做的就是 Shift + S 并在运行之前保存文件...

标签: javascript node.js windows localhost


【解决方案1】:

这里是如何解决它。您可能会尝试在使用的端口上启动您的服务器。

// enter this command in your terminal
lsof -i:3000

// this will output the related PID (process ID). Here: 1382.
node      1382 name   21u  IPv6 blabla      0t0  TCP *:3000 (LISTEN)

// kill the PID in use
kill -9 1382

//relaunch your server
node app.js

【讨论】:

  • 感谢您的回复。但是,当尝试时,它说“lsof 无法识别”
  • Aa,也许 lsof 命令在 Windows 上不可用。请尝试netstat -a -n -o | find "3000"。您应该使用此命令获取 pid。
  • 太棒了!这行得通!很高兴知道这个命令来检查和打开(?)端口。
  • 酷!编码愉快。
【解决方案2】:

我在我的电脑上运行了它,该代码运行良好。我会尝试其他端口,看看它们是否有效。

【讨论】:

  • 感谢您的回复。我尝试使用 8080、3001,但它们也不起作用。
猜你喜欢
  • 2023-02-05
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
  • 2021-08-19
  • 2018-10-17
  • 2021-02-20
  • 2019-03-31
  • 1970-01-01
相关资源
最近更新 更多