Mongo 错误,我无法运行我的两个应用程序

Posted

技术标签:

【中文标题】Mongo 错误,我无法运行我的两个应用程序【英文标题】:Mongo error, i can't run my two applications 【发布时间】:2018-06-23 15:10:52 【问题描述】:

我使用 AngularJS 全栈生成器生成了两个项目。问题是当我在两个项目中运行命令 gulp serve 时,只打开其中一个。在另一个项目的控制台中,它显示给我:

(node:1236) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. 
See http://mongoosejs.com/docs/connections.html#use-mongo-client

Error: listen EADDRINUSE 0.0.0.0:9000
    at Object.exports._errnoException (util.js:1020:11)
    at exports._exceptionWithHostPort (util.js:1043:20)
    at Server._listen2 (net.js:1262:14)
    at listen (net.js:1298:10)
    at net.js:1408:9
    at _combinedTickCallback (internal/process/next_tick.js:83:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)

我认为问题出在端口上。但老实说,我不知道修改哪个文件或我需要如何做。我知道这可能很简单,但我是新手。

【问题讨论】:

只是你们两个应用试图使用同一个端口 弃用警告在那里并不重要 【参考方案1】:

是您的节点尝试为这两个应用程序使用端口 9000。

如果你想同时运行两者,你可以手动将它们设置为不同的端口,或者将它们设置为端口 0,它会随机分配一个端口。

NodeJS listen port documentation

【讨论】:

【参考方案2】:

所以在mac上关闭节点进程有两种方法。 ctrl + cctrl + z 并且您应该使用 ctrl + c 取消,否则您将有一个流氓进程。

为此,我的.zshrc 中有一个函数

# Find and kill port. i.e. kp 9000
function kp()  lsof -i TCP:$1 | grep LISTEN | awk 'print $2' | xargs kill -9  

当您更改 .zshrc.bash_profile 时,请记住运行:source ~/.zshrc 或任何您的文件。

【讨论】:

以上是关于Mongo 错误,我无法运行我的两个应用程序的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到 Mongo 数据库 [重复]

是否可以同时运行属于不同应用程序的两个内核?

本地服务器工作,在线服务器失败 - Mongo?

Springboot 容器使用 docker-compose 连接到 mongo 容器的 503 错误代码

如何在另一台Mac上运行Swift Terminal应用程序

在heroku上部署后无法读取mongo数据库,返回503错误,但它在本地工作