将 Heroku 插件与 node.js 一起使用

     2023-03-07     127

关键词:

【中文标题】将 Heroku 插件与 node.js 一起使用【英文标题】:Use Heroku addon mongolab with node.js 【发布时间】:2015-01-17 22:42:09 【问题描述】:

我在 mongo lab 中使用 node.js,我已经按照 mongolab 教程 (https://devcenter.heroku.com/articles/mongolab#getting-your-connection-uri) 在我的代码中更改了我的 db url:

module.exports = new Db(settings.db, new Server('mongodb://heroku_app3178:e6dd5g3btvanua3gfbmk6@ds051740.mongolab.com', 51740, ), safe: true);

我用本地运行进行了测试,我确实看到 node 正在尝试连接到这个新 URL。

但是当我部署到 Heroku 时。 Heroku 总是抱怨这个。 我尝试了不同的东西 3 个小时没有任何线索。 这是我的日志,你能帮忙吗?

2014-11-20T06:35:55.290572+00:00 heroku[api]: Release v17 created by abcc@gmail.com
2014-11-20T06:35:57.385492+00:00 heroku[web.1]: Starting process with command `node app.js`
2014-11-20T06:35:58.836675+00:00 heroku[web.1]: State changed from starting to up
2014-11-20T06:35:59.876883+00:00 app[web.1]: app.usr local
2014-11-20T06:36:00.396662+00:00 app[web.1]:     at Socket.emit (events.js:95:17)a
2014-11-20T06:36:00.394396+00:00 app[web.1]: 
2014-11-20T06:36:00.396664+00:00 app[web.1]:     at net.js:440:14
2014-11-20T06:36:00.394894+00:00 app[web.1]:           throw err;
2014-11-20T06:36:00.396665+00:00 app[web.1]:     at process._tickCallback (node.js:419:13)
2014-11-20T06:36:00.396651+00:00 app[web.1]: Error: Error connecting to database: failed to connect to [127.0.0.1:27017] ====> why is this? so confused
2014-11-20T06:36:00.394918+00:00 app[web.1]:                 ^
2014-11-20T06:36:00.396654+00:00 app[web.1]:     at null.<anonymous> (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/server.js:553:74)
2014-11-20T06:36:00.396656+00:00 app[web.1]:     at emit (events.js:106:17)
2014-11-20T06:36:00.396659+00:00 app[web.1]:     at emit (events.js:98:17)
2014-11-20T06:36:00.396658+00:00 app[web.1]:     at null.<anonymous> (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15)
2014-11-20T06:36:00.396661+00:00 app[web.1]:     at Socket.<anonymous> (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10)
2014-11-20T06:36:00.394676+00:00 app[web.1]: /app/node_modules/connect-mongo/lib/connect-mongo.js:178
2014-11-20T06:36:00.415816+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/" host=enigmatic-coast-5373.herokuapp.com request_id=165ef7e7-a68a-44b0-9706-f72fcd9a0ba4 fwd="54.83.129.179" dyno=web.1 connect=2ms service=540ms status=503 bytes=0
2014-11-20T06:36:01.075007+00:00 heroku[web.1]: State changed from crashed to starting
2014-11-20T06:36:01.074333+00:00 heroku[web.1]: State changed from up to crashed
2014-11-20T06:36:01.057123+00:00 heroku[web.1]: Process exited with status 8
2014-11-20T06:36:02.976453+00:00 heroku[web.1]: Starting process with command `node app.js`
2014-11-20T06:36:04.328809+00:00 heroku[web.1]: State changed from starting to up

【问题讨论】:

我认为您刚刚允许我们访问您的数据库。 别担心@Breanda,我删除了一些字符 好的,只是检查一下。祝你好运。 【参考方案1】:

您可以在代码中指定它连接到您的远程mongodb,这将影响本地和云实现,或者在heroku中,您可以使用环境变量进行云使用。转到您的 app-settings-reveal 配置变量,然后添加, 第一个字段: MONGOLAB_URI 第二个字段:mongodb://yourmongolabuser:yourmongolabpass@dsnumber.mongolab.com:number/yourapp MongoLab 向您显示 uri,您只需更改用户名和密码。

另一件可以帮助您的节点应用程序不崩溃的事情是将模式更改为生产,再次在 env 变量中: NODE_ENV=生产

【讨论】:

【参考方案2】:

您的错误消息显示您正在尝试连接到 localhost (127.0.0.1) 上的本地数据库。

您应该在代码中使用 Herkou 环境变量,例如:

module.exports = new Db(settings.db, new Server(process.env.MONGOLAB_URL, ), safe: true);

【讨论】:

使用 node.js 中的数据库插件将文件添加到 heroku 应用程序

】使用node.js中的数据库插件将文件添加到heroku应用程序【英文标题】:addingfilestoherokuappwithadatabaseaddoninnode.js【发布时间】:2021-10-0312:15:49【问题描述】:我在heroku上托管我的discord机器人,我安装了这个数据库来添加文件,因为... 查看详情

Heroku + MongoLab 插件与 Node.js 应用程序的连接错误 - 错误:连接 ECONNREFUSED 127.0.0.1:27017

】Heroku+MongoLab插件与Node.js应用程序的连接错误-错误:连接ECONNREFUSED127.0.0.1:27017【英文标题】:ConnectionerroronHeroku+MongoLabaddonwithNode.jsapp-Error:connectECONNREFUSED127.0.0.1:27017【发布时间】:2016-03-0205:29:47【问题描述】:当尝试使用MongoLab... 查看详情

将 CouchDB 与 Node.js 库一起使用

】将CouchDB与Node.js库一起使用【英文标题】:UseCouchDBwithNode.jslibrary【发布时间】:2013-08-2810:54:38【问题描述】:CouchDB使用javascript来验证、查询、做map-reduce等等。我想知道有没有办法在这些javascript函数中使用node.js库?比如使用r... 查看详情

将 JQuery 与 node.js 一起使用时出错

】将JQuery与node.js一起使用时出错【英文标题】:ErrorsusingJQuerywithnode.js【发布时间】:2012-10-1009:06:56【问题描述】:我在Windows7上运行了全新安装的node.js,我正在尝试运行一个非常基本的JQuery脚本,名为a.js,其中仅包含:require("... 查看详情

将 Gigya API 与 node.js 一起使用

】将GigyaAPI与node.js一起使用【英文标题】:UsingGigyaAPIwithnode.js【发布时间】:2011-11-0621:42:40【问题描述】:对于我的一个项目,我想尝试将Gigya作为我的社交网络连接提供商,并且正在使用Node.js编写我的应用程序。有人做过吗?... 查看详情

如何将 Node.js 中的 net 模块与 browserify 一起使用?

】如何将Node.js中的net模块与browserify一起使用?【英文标题】:HowtousethenetmodulefromNode.jswithbrowserify?【发布时间】:2015-08-3003:02:27【问题描述】:我想在客户端(在浏览器中)使用来自Node.js的net模块:varnet=require(\'net\');所以我查... 查看详情

您将如何将 node.js 子进程与 discord.js 一起使用?

】您将如何将node.js子进程与discord.js一起使用?【英文标题】:Howwouldyouusenode.jschildprocesseswithdiscord.js?【发布时间】:2021-09-0118:25:58【问题描述】:所以我有一个用javascript编码的不和谐机器人,它在与数据库交互或进行图像处理... 查看详情

javascript如何将mongodb与node.js一起使用(代码片段)

查看详情

如何将 jsonp 与 node.js express 一起使用

】如何将jsonp与node.jsexpress一起使用【英文标题】:Howtousejsonpwithnode.jsexpress【发布时间】:2013-08-1609:31:01【问题描述】:我正在尝试使用node.js制作三星智能电视应用程序。在我的项目中,我想让我的应用程序与服务器pc通信。根... 查看详情

Node.js - 在 Heroku 上使用 MongoHQ 连接到 MongoDB

】Node.js-在Heroku上使用MongoHQ连接到MongoDB【英文标题】:Node.js-ConnectingtoMongoDBusingMongoHQonHeroku【发布时间】:2011-11-2609:38:14【问题描述】:我有一个使用Express的Node.js应用程序,它将数据存储在mongoDB(本地)中。它现在已成功推送... 查看详情

如何将 Mongoose/Mongodb 与 node.js- 护照身份验证一起使用

】如何将Mongoose/Mongodb与node.js-护照身份验证一起使用【英文标题】:HowtouseMongoose/Mongodbwithnode.js-passportauthentication【发布时间】:2022-01-0814:22:48【问题描述】:我正在构建我的第一个全栈node.js应用程序,我想使用护照进行身份验... 查看详情

将 Node.js 的 Express 与 vhost 一起使用时出现意外错误

】将Node.js的Express与vhost一起使用时出现意外错误【英文标题】:UnexpectederrorusingNode.js\'sExpresswithvhosts【发布时间】:2014-07-1203:29:14【问题描述】:这是错误:代码如下:runapps.js:varexpress=require(\'express\');varapp=express();varfirst=require(\... 查看详情

如何将 Asterisk ARI 与 socket.io 和 Node.js 一起使用

】如何将AsteriskARI与socket.io和Node.js一起使用【英文标题】:HowtouseAsteriskARIwithsocket.io&Node.js【发布时间】:2016-01-0207:27:24【问题描述】:最近开始接触星号、Linux、node.js和最近的socket.io,以便我最终可以为星号制作实时Web应用... 查看详情

请求新页面时如何将 AngularJS 路由与 Express (Node.js) 一起使用?

】请求新页面时如何将AngularJS路由与Express(Node.js)一起使用?【英文标题】:HowtouseAngularJSrouteswithExpress(Node.js)whenanewpageisrequested?【发布时间】:2012-10-2416:58:13【问题描述】:我正在使用Express,它从静态目录加载AngularJS。通常,我... 查看详情

如何将 REST 与 Node.js 和 AngularJS 一起使用在不同的端口上?

】如何将REST与Node.js和AngularJS一起使用在不同的端口上?【英文标题】:HowtouseRESTwithNode.jsandAngularJSbeingondifferentport?【发布时间】:2013-03-0907:00:55【问题描述】:我正在尝试了解Angular和Node.js在后端的合作。但是我不知道如何使用... 查看详情

如何与 Heroku 和 iOS 一起做 AFNetworking?

】如何与Heroku和iOS一起做AFNetworking?【英文标题】:HowtodoAFNetworkingalongwithHerokuandiOS?【发布时间】:2015-03-0607:40:16【问题描述】:我想将Braintree或StripePayments集成到我的应用程序中,这需要服务器来处理处理,因为如果在应用程... 查看详情

将 `require()` 与 `node --eval` 一起使用

】将`require()`与`node--eval`一起使用【英文标题】:Use`require()`with`node--eval`【发布时间】:2011-06-0217:27:22【问题描述】:在使用node.js对--eval的新支持时,当我尝试使用require()时出现错误(ReferenceError:requireisnotdefined)。这是一个失败的... 查看详情

尝试将谷歌云功能与 node.js 一起使用时,admin.firestore 不是一个功能

】尝试将谷歌云功能与node.js一起使用时,admin.firestore不是一个功能【英文标题】:admin.firestoreisnotafunctionwhentryingtousegooglecloudfunctionswithnode.js【发布时间】:2018-03-2214:41:55【问题描述】:这是node.jsindex.js文件的标题:constfunctions=re... 查看详情