私はたくさん試しましたが、mongoカートリッジと通信するopenshiftノードカートリッジの単純な平均アプリで、ノードをMongoに接続することができません。URL にアクセスすると、すべて問題なく動作しますが、アプリケーションでエラーが発生します (サービスが一時的に利用できないというエラー) 。
適切な環境変数を使用しました。インスタンスに ssh してローカルで mongo に接続するか、アプリのルートでノード サーバーを実行すると、すべて正常に動作します。
しかし、それを git push すると、ビルド、デプロイなどは正常に機能しますが、アプリケーション URL に移動するとエラーが発生します。助けてください。コマンドラインで「ノードサーバー」を使用して、コードがローカルおよびレポディレクトリのopenshiftサーバーで正常に機能するため、何が問題なのかわかりません。
==============================
**server.js**
=========
#!/bin/env node
// OpenShift sample Node application
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
// Load the module dependencies
var mongoose = require('./config/mongoose'),
express = require('./config/express'),
passport = require('./config/passport');
// Create a new Mongoose connection instance
var db = mongoose();
// Create a new Express application instance
var app = express();
// Configure the Passport middleware
var passport = passport();
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || 'localhost';
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
app.listen(port, ipaddress, function() {
console.log('%s: Node server started on %s:%d ...',
Date(Date.now() ), ipaddress, port);
});
// Use the module.exports property to expose our Express application instance for external usage
module.exports = app;
===========================
development.js
==============
// Invoke 'strict' JavaScript mode
'use strict';
var dbDefault = process.env.OPENSHIFT_MONGODB_DB_URL + process.env.OPENSHIFT_APP_NAME || 'mongodb://localhost:27017/someapp';
// Set the 'development' environment configuration object
module.exports = {
db : dbDefault ,
sessionSecret: 'developmentSessionSecret'
};
================================
mongoose.js
===========
// Invoke 'strict' JavaScript mode
'use strict';
// Load the module dependencies
var config = require('./config'),
mongoose = require('mongoose');
// Define the Mongoose configuration method
module.exports = function() {
// Use Mongoose to connect to MongoDB
var db = mongoose.connect(config.db);
// Load the application models
require('../app/core/models/user.server.model');
// Return the Mongoose connection instance
return db;
};
===========================
logs - node
Error: connect ECONNREFUSED
at errnoException (net.js:901:11)
at Object.afterConnect [as oncomplete] (net.js:892:19)
DEBUG: Program node server.js exited with code 8
DEBUG: Starting child process with 'node server.js'