复合服务器 8888 失败并显示“无法连接到 [localhost:27017]”

Posted

技术标签:

【中文标题】复合服务器 8888 失败并显示“无法连接到 [localhost:27017]”【英文标题】:compound server 8888 fails with "failed to connect to [localhost:27017]" 【发布时间】:2013-02-17 23:13:22 【问题描述】:

我正在尝试在 Windows 机器上使用 nodejs 启动一个项目。 我知道 windows 不是正确的环境,但我就是这样使用的!

我在使用compound server 8888 启动服务器时遇到错误。 我通过

生成了所有文件
compound init photo --tpl jade --css less --db mongodb
cd photo
npm install -l
compound generate crud album title images createdAt:date

在我意识到您可以将复合安装为复合或复合js之后,这一代运行良好(安装了复合js它不起作用但是当我安装复合时它起作用了- 我认为两者都是一样的:-/)。

但是当我尝试启动服务器时 compound server 8888 它因此错误而中断:

在开发环境中监听 0.0.0.0:8888 的复合服务器 PATH\photo\node_modules\jugglingdb-mongodb\lib\mongodb.js:74 if (err) 抛出错误; ^ 错误:无法连接到 [localhost:27017] 在 Server.connect.connectionPool.on.server._serverState (PATH\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\server.js:564:74) 在 EventEmitter.emit (events.js:126:20) 在 connection.on._self._poolState (PATH\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:124:15) 在 EventEmitter.emit (events.js:99:17) 在 Socket.errorHandler (PATH\photo\node_modules\jugglingdb-mongodb\node_modules\mongodb\lib\mongodb\connection\connection.js:465:10) 在 Socket.EventEmitter.emit (events.js:96:17) 在 Socket._destroy.self.errorEmitted (net.js:329:14) 在 process.startup.processNextTick.process._tickCallback (node.js:244:9)

显然它无法连接到 MongoDB,但为什么? 我必须在 mysql 之类的地方启动这个数据库吗?

任何帮助将不胜感激。 谢谢!

【问题讨论】:

"我必须在 MySQL 之类的地方启动这个数据库吗?" 是的。 mongod / mongod.exe. 如果 mongodb 没有运行,您将无法连接到它;) 【参考方案1】:

您需要先启动 MongoDB 守护程序。为此,请转到 MongoDB 文件所在的目录并在 bin 文件夹下运行 mongod.exe

换句话说运行:

<MONGO_HOME>\bin\mongod.exe

要确保主要的 MongoDB 数据库进程正在运行,请运行同样位于同一文件夹下的 mongo.exe (Mongo Shell)。如果它成功连接并用等待您命令的 shell 向您致意,那么您的数据库已启动并正在运行。返回并重新启动复合服务器以查看它是否有帮助。如果没有,请检查您的数据库连接设置。

【讨论】:

非常感谢! - 那有帮助。我必须更改我的数据库路径,以便在数据库启动之前获得足够的空间,但现在它运行了!!! :D

以上是关于复合服务器 8888 失败并显示“无法连接到 [localhost:27017]”的主要内容,如果未能解决你的问题,请参考以下文章

对 php 后端的 create-react-app 代理请求

Laravel 5.4 上的示例 PHPUnit 测试失败并显示 404

Linux服务器中配置tomcat的服务,并通过端口8888访问

Linux服务器中配置tomcat的服务,并通过端口8888访问

复合分配的自动(取消)装箱失败

Doctrine2 Merge() 因复合索引而失败教义2错误?