运行快速代码时出现 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.
【讨论】:
我的快递服务器运行正常......突然它停止了......当我检查它时它显示这个错误......在服务器......这个错误是当我没有对我以前的代码进行任何更改时引起的......&我确实检查了你的解决方案......仍然再次出现同样的错误......有什么想法吗? @smriti2app.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 [重复]
尝试通过 docker-compose 将 NodeJS 应用程序连接到 MySQL 映像时出现 ECONNREFUSED
在 iOS 中对来自 Core Data 的实体的 NSArray 进行快速枚举时出现运行时错误
在 Windows 上安装 docker 工具箱后出现错误。错误:连接 ECONNREFUSED 10.0.75.2:2375