运行快速代码时出现 ECONNREFUSED 错误

Posted

技术标签:

【中文标题】运行快速代码时出现 ECONNREFUSED 错误【英文标题】:ECONNREFUSED error while running express code 【发布时间】:2013-10-07 06:34:02 【问题描述】:

我无法运行服务器......我收到ECONNREFUSED的错误

如何解决此错误!

当我尝试使用不同的端口时....都给了我同样的错误!

ubuntu@ip-MyIP:~/rainmelon/projects/FindMyBuffet$ node app.js
Express server listening on port 7005

Error: connect ECONNREFUSED
    at errnoException (net.js:884:11)
    at Object.afterConnect [as oncomplete] (net.js:875:19)
    --------------------
    at Handshake.Sequence (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20)
    at new Handshake (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)
    at Protocol.handshake (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/protocol/Protocol.js:42:50)
    at Connection.connect (/home/ubuntu/rainmelon/projects/FindMyBuffet/node_modules/mysql/lib/Connection.js:73:18)
    at Object.<anonymous> (/home/ubuntu/rainmelon/projects/FindMyBuffet/app.js:15:12)
    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)

【问题讨论】:

因为该端口上正在运行其他东西 fuser -k 7005/tcp ..................我使用该命令将其杀死,但似乎有效....任何解决方案 仍然存在同样的错误 【参考方案1】:

回溯说明异常的来源:

Error: connect ECONNREFUSED
    at errnoException (net.js:884:11)
    at Object.afterConnect [as oncomplete] (net.js:875:19)
    --------------------
    ...
    at Connection.connect (.../node_modules/mysql/lib/Connection.js:73:18)
-->                                         ^^^^^
    at Object.<anonymous> (/home/ubuntu/rainmelon/projects/FindMyBuffet/app.js:15:12)
-->                                                                     ^^^^^^^^^

因此您的应用无法连接到 MySQL。

这通常归结为您的 MySQL 驱动程序配置中的主机名/端口名不正确、MySQL 服务器未运行或您的 MySQL 服务器未配置为侦听 TCP 套接字。 See here.

【讨论】:

我的快递服务器运行正常......突然它停止了......当我检查它时它显示这个错误......在服务器......这个错误是当我没有对我以前的代码进行任何更改时引起的......&我确实检查了你的解决方案......仍然再次出现同样的错误......有什么想法吗? @smriti2 app.js 文件的第 15 行是什么? @smriti2 也许你应该编辑你的答案并发布一些代码,尤其是发生错误的地方。很难仅从错误消息中进行调试。 我解决了错误......根据你的输入(我确定 Mysql 已经停止并且我不知道它)......我重新启动了 mysql 服务器.....现在它的功能......谢谢............我用 sudo /etc/init.d/mysql start @smriti2 很高兴听到它已解决,我添加了 MySQL 服务器已关闭作为可能发生错误的另一个原因 :-)【参考方案2】:

您的 mysql 进程已关闭,这意味着它没有运行。您需要重新启动 mysql 进程(更改端口无济于事)。 要解决此问题,您需要重新启动它。您可以通过执行以下任一操作来完成:

    您可以启动 wamp 或 xamp 服务器,它会自动启动进程。 或者您可以打开命令行提示符并手动启动它,如“c:\wamp\bin\mysql\mysql5.5.24\bin\mysqld.exe”

请注意,使用第二种方法需要知道您的 wamp 文件夹的确切位置,就像我在顶部使用的一样。(带引号)

【讨论】:

请使用正确的大小写/语法。【参考方案3】:

您可以执行netstat 来找出在端口7005 上运行的进程的pid,然后用得到的pid 去forceful kill

喜欢

 netstat -plten |grep 7005
 kill -9 16085

其中 16085 是从 prev 命令获得的 pid。并重启 express 应用。

参考

How to kill a process running on particular port in Linux?

【讨论】:

我尝试使用您的第一个命令...。我收到错误为...((并非所有进程都可以识别,非拥有的进程信息不会显示,你会必须是 root 才能看到这一切。)) 当我使用它时,我在根目录中............还有一件事......所有端口的行为都是这样......这可能是服务器错误。 .. 还是我应该应用其他东西? @smriti2 : 所以你可能应该尝试以 root 身份运行你的 express 应用程序。 ECONNREFUSED 不是当您尝试绑定的端口上已经有东西在侦听时出现的错误,即EADDRINUSE

以上是关于运行快速代码时出现 ECONNREFUSED 错误的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs和java套接字实现错误:连接ECONNREFUSED 127.0.0.1:8081 [重复]

运行 C++ 代码时出现分段错误

尝试通过 docker-compose 将 NodeJS 应用程序连接到 MySQL 映像时出现 ECONNREFUSED

在 iOS 中对来自 Core Data 的实体的 NSArray 进行快速枚举时出现运行时错误

在 Windows 上安装 docker 工具箱后出现错误。错误:连接 ECONNREFUSED 10.0.75.2:2375

尝试为 iphone 快速构建 tableView 时出现错误