質問

私は503を得ることを続けていますが、openShiftでkeystone.jsアプリをホストしようとしたときにログにエラーはありません。すべてがローカルホストでうまく機能します。

ブログや曇りのないKeystone.jsの新鮮なインストールを使用しています。

役に立ちましたか?

解決

あなたに決定的な答えを与えるために非常に少ない情報を提供します。 keystone.init()にどのオプションを渡しますか? dotenvを使用していますか?もしそうなら、あなたはそこに何を設定していますか? rhc set-envを使用して環境変数を設定しましたか?

openShiftのNode.jsアプリケーションの503エラーの一般的なものではないが、OpenShiftのopenshiftのポート番号です。 Keystoneはprocess.env.PORTを見る前にprocess.env.OPENSHIFT_INTERNAL_PORTを調べます。したがって、PORTまたは.envrhc set-envがある場合は、OPENSHIFT_INTERNAL_PORTよりも優先されます。

keystonejs google google google google 。その他の場合では、開発者はMongoDBカートリッジを自分のアプリに追加しましたが、キーストーンのカートリッジの接続文字列を設定していません。

これがあなたの場合もある場合は、mongoまたはKeystone.init()を使用してKeystone Keystone.set('mongo', 'connection_sring')オプションを設定する必要があります。カートリッジを作成したら、URLといくつかの資格情報を得ました。 OpenShitはこれらを環境変数でアプリケーションに渡します。 Mongo接続文字列を次のように構築できます。

var connectionString = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +  process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" + process.env.OPENSHIFT_MONGODB_DB_HOST + '/' + process.env.OPENSHIFT_APP_NAME;

keystone.set('mongo', connectionString);

or 

keystone.init({
  ...
  mongo: connectionString,
  ...
});
.

またはrhc set-envを使用して、MONGO環境変数を次のように設定できます。

rhc set-env MONGO=http://{username}:{password}@{connection url}/{dbname} -a your_app_name
.

上のconnection urlは、カートリッジを作成したときにOpenShiftから得たものです。標準のMongoDB URLのように見える場合(mongodb://127.6.85.129:27017/

あなたの質問が細部の少し薄いことを考えると、これらは私の最善の推測です。あなたはもう少し詳細を投稿したいので、私たちがあなたの問題をより正確に評価することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top