SailsJS 部署到 Heroku,连接到 Mongolabs MongoDB
SailsJS deployment to Heroku, connect to Mongolabs MongoDB
我现在正在尝试我的第一个 SailsJS Heroku 部署 API。我的应用程序使用 SailsJS v0.11 和sails-mongo
0.11.2.
我已更新 config/connections.js
以包含 MongoDB 我在 Mongolab 免费托管的数据库的连接信息。
mongodb: {
adapter: 'sails-mongo',
url: "mongodb://db-user:password123@ds047812.mongolab.com:47812/testing-db"
}
还更新了 config/models.js
以指向该适配器。
module.exports.models = {
connection: 'mongodb',
migrate: 'safe'
};
这基本上是我从 运行 本地代码更改的所有内容,当我部署到 Heroku 时,应用程序崩溃并且出现此错误...
/home/zacharyhustles/smallChangeAPI/node_modules/connect-mongo/lib/connect-mongo.js:186
throw err;
^
at Socket.emit (events.js:107:17)
2015-07-08T19:37:00.778316+00:00 app[web.1]:
at Socket.<anonymous> (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/connection.js:534:10)
Error: Error connecting to database: failed to connect to [localhost:27017]
我如何摆脱它,并确保 Sails 不尝试连接到本地主机数据库?
好的,问题在于存储会话。
我的解决方案是设置一个 Redis 数据库来存储会话。
在 config/sessions.js
中确保除了会话存储所需的方法之外的所有内容都被注释掉。
我的看起来像这样:
adapter: 'redis',
host: 'example.redistogo.com',
port: 1111,
db: '/redistogo',
pass: 'XXXXXYYYYYYXYXYXYYX',
这解决了我发布的问题,希望这能帮助其他人。
我现在正在尝试我的第一个 SailsJS Heroku 部署 API。我的应用程序使用 SailsJS v0.11 和sails-mongo
0.11.2.
我已更新 config/connections.js
以包含 MongoDB 我在 Mongolab 免费托管的数据库的连接信息。
mongodb: {
adapter: 'sails-mongo',
url: "mongodb://db-user:password123@ds047812.mongolab.com:47812/testing-db"
}
还更新了 config/models.js
以指向该适配器。
module.exports.models = {
connection: 'mongodb',
migrate: 'safe'
};
这基本上是我从 运行 本地代码更改的所有内容,当我部署到 Heroku 时,应用程序崩溃并且出现此错误...
/home/zacharyhustles/smallChangeAPI/node_modules/connect-mongo/lib/connect-mongo.js:186
throw err;
^
at Socket.emit (events.js:107:17)
2015-07-08T19:37:00.778316+00:00 app[web.1]:
at Socket.<anonymous> (/app/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection/connection.js:534:10)
Error: Error connecting to database: failed to connect to [localhost:27017]
我如何摆脱它,并确保 Sails 不尝试连接到本地主机数据库?
好的,问题在于存储会话。
我的解决方案是设置一个 Redis 数据库来存储会话。
在 config/sessions.js
中确保除了会话存储所需的方法之外的所有内容都被注释掉。
我的看起来像这样:
adapter: 'redis',
host: 'example.redistogo.com',
port: 1111,
db: '/redistogo',
pass: 'XXXXXYYYYYYXYXYXYYX',
这解决了我发布的问题,希望这能帮助其他人。