Nodejs App 崩溃 heroku - 错误无法连接到 localhost:27017

Posted

技术标签:

【中文标题】Nodejs App 崩溃 heroku - 错误无法连接到 localhost:27017【英文标题】:Nodejs App crashed heroku - error failed to connect to localhost:27017 【发布时间】:2013-08-05 20:25:10 【问题描述】:

我一直在寻找解决方案,但我尝试过的任何方法都给出了相同的结果。我认为它必须与本地主机有关,但我不知道出了什么问题。这些是我在运行 heroku 日志时遇到的错误。

2013-08-05T07:10:34.804131+00:00 heroku[router]: at=error code=H10 desc="App crashed"     method=GET path=/ host=node-beginners.herokuapp.com fwd="59.92.205.141" dyno= connect= service= status=503 bytes=
2013-08-05T07:10:35.424107+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=node-beginners.herokuapp.com fwd="59.92.205.141" dyno= connect= service= status=503 bytes=
2013-08-05T07:10:35.927263+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=node-beginners.herokuapp.com fwd="59.92.205.141" dyno= connect= service= status=503 bytes=
2013-08-05T07:20:26.552533+00:00 app[web.1]: Error: failed to connect to [localhost:27017]

我的 server.js 文件如下所示。

//create an app server
var express = require('express')
, flash = require('connect-flash')
, helpers = require('view-helpers')
, mongoStore = require('connect-mongo')(express)
, fs = require('fs')    
, mongoose = require('mongoose')
, passport=require('passport')
//create/connect to database
var dbname = 'test';
var uri = 'mongodb://localhost/' + dbname;
mongoose.connect(uri);
console.log('server.js : connecting to %s', uri);
//express settings
var app = express()
app.configure(function() 
app.use(express.static(__dirname + '/public'));
app.use(express.cookieParser('keyboard cat' ));
app.use(express.bodyParser());
app.use(express.methodOverride())
app.use(express.session(
   secret: 'spoc',
  store: new mongoStore(
    url: 'mongodb://localhost/' + dbname,
    collection : 'sessions'
  )
))
app.use(passport.initialize());
app.use(passport.session());
app.use(flash())
app.use(helpers('node-beginners')) 
app.use(app.router);
);
//start app
var PORT = process.env.PORT || 3000
app.listen(PORT)
console.log('Express app started on port '+PORT)

//expose app
exports = module.exports = app

我已经尝试了几乎所有可以在其他帖子中找到的内容,但仍然出现此错误。请帮忙!

【问题讨论】:

【参考方案1】:

我遇到了同样的错误 app_dir [必需] 应用程序目录 -c [可选] 簇,值 [可选]

-d [可选] 永远使用守护进程

-p [可选] 端口,值 [必需]

[nodemon] 应用程序崩溃 - 启动前等待文件更改...

解决方案- 甚至认为依赖在那里我做过 npm 安装 然后 dhcp7641:merchant_center sbell10$ npm install npm WARN package.json 依赖项 'grunt-castle' 存在于依赖项和 devDependencies 中,使用依赖项中的 'grunt-castle@^0.4.4' lazo-mocks@0.1.2 node_modules/lazo-mocks

chai-jquery@1.2.3 node_modules/chai-jquery

然后开始工作 dhcp7641:merchant_center sbell10$ grunt 复制包;咕哝 运行“cpf_app:tempo:merge”(cpf_app)任务

运行“copy:cpf”(复制)任务 创建8个目录,复制5465个文件

运行“copy:app”(复制)任务 创建了2个目录,复制了3496个文件

运行“merge-conf”任务

运行“cpf_app:tempo:bundle-js”(cpf_app)任务

【讨论】:

【参考方案2】:

我认为您的错误与 mongodb 实例有关。要开始在 Heroku 中使用 mongodb,请查看他们的 documentation。

要获取正确的连接 URI,请检查 here

【讨论】:

哦!我不知道我是怎么错过的!谢谢!他们需要对 mongodb 附加组件进行信用卡验证。您知道有哪些网站不要求提供信用卡详细信息吗? 您仍然可以使用 Heroku,然后在此处连接到免费的 MongoDB 实例:mongolab.com/products/pricing 我正在使用 modules.io,他们为新用户提供 15 美元的免费信用额度。

以上是关于Nodejs App 崩溃 heroku - 错误无法连接到 localhost:27017的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 崩溃错误:heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/fa

如果应用程序崩溃,heroku 是不是会重新启动 NodeJS 服务器

Heroku 产生错误 H10 并导致应用程序崩溃

部署在heroku上的应用程序崩溃的可能原因是啥?

在 Heroku 中部署 NodeJS 应用程序时出错

在nodejs中重新启动heroku dyno