1

openshift で keystone.js アプリをホストしようとすると、503 が表示され続けますが、ログにエラーはありません。すべてがローカルホストで正常に動作します。

ブログや cloudinary を使用せずに、keystone.js の新規インストールを使用しています。

4

1 に答える 1

3

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

OpenShift の Node.js アプリケーションで発生する 503 エラーの一般的な (ただし唯一ではない) 原因は、OpenShift のポート番号を上書きすることです。Keystone は を見るprocess.env.PORT前に を見ますprocess.env.OPENSHIFT_INTERNAL_PORT。したがって、または をPORT設定した場合は、 よりも優先されます。.envrhc set-envOPENSHIFT_INTERNAL_PORT

KeystoneJS Google Groupで同様の質問に出くわしました。別のケースでは、開発者は自分のアプリに MONGODB カートリッジを追加しましたが、Keystone でカートリッジの接続文字列を設定していませんでした。

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

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/)。

あなたの質問は詳細が少し薄いので、これらは私の最善の推測です。問題をより正確に評価できるように、さらに具体的な情報を投稿してください。

于 2014-08-01T06:46:07.953 に答える