gpt4 book ai didi

javascript - Node.js 抛出 er 未处理的错误事件

转载 作者:IT老高 更新时间:2023-10-28 23:02:01 25 4
gpt4 key购买 nike

我已经在我的 Centos 6 服务器中安装了 node、npm,并且我正在使用 putty 在服务器上运行命令。

Node 已正确安装在根目录下,并且可以在服务器的任何位置运行。

我的项目位于/home/shaadise/public_html/Ikon

我创建了一个 hello.js 文件/home/shaadise/public_html/Ikon

var http = require('http');

http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8080);

console.log('Server started');

在运行 js 时:

root@vps [/home/shaadise/public_html/Ikon]# node hello.js
Server started

events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at Object.<anonymous> (/home/shaadise/public_html/Ikon/hello.js:6:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
root@vps [/home/shaadise/public_html/Ikon]# throw er; // Unhandled 'error' event
-bash: throw: command not found
-bash: //: is a directory

问题:我必须将我的 Node js 文件放在哪里以及如何访问它????

我测试运行命令:

root@vps [/home/shaadise/public_html/Ikon]# netstat -plnt | grep ':8080'
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 27111/nginx

最佳答案

这个 Error: listen EADDRINUSE 明确表示您或守护程序正在 8080 上运行另一个应用程序。

但是,要检查,请尝试在不同的端口上运行?

-edit- 因为这得到了相当多的支持,我想我会在其中添加一些额外的调试。

几乎所有的 node.js 教程都默认使用 8080 端口来运行。这是因为它类似于 Apache 或 NGinX 等其他 Web 服务使用的默认端口 80。

为了确定另一个应用程序是否在同一端口上运行,您可以使用 netstat -a 查看所有事件连接及其端口,然后 grep 该列表以查找连接的任何进程与您的 Node.js 应用程序相同的端口。

您的 Node 应用程序在哪个端口上运行并不重要,只要它是一个空闲端口即可。最终,当您部署到生产环境中时,您将同步您正在使用的任何内容服务器 (Apache/NGinX) 以使用相同的端口。

关于javascript - Node.js 抛出 er 未处理的错误事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22653937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com