openshift で keystone.js アプリをホストしようとすると、503 が表示され続けますが、ログにエラーはありません。すべてがローカルホストで正常に動作します。
ブログや cloudinary を使用せずに、keystone.js の新規インストールを使用しています。
openshift で keystone.js アプリをホストしようとすると、503 が表示され続けますが、ログにエラーはありません。すべてがローカルホストで正常に動作します。
ブログや cloudinary を使用せずに、keystone.js の新規インストールを使用しています。
決定的な答えを提供するための情報がほとんど提供されていません。どのオプションに渡しますkeystone.init()
か? を使用していdotenv
ますか? もしそうなら、あなたはそこに何を設定していますか?を使用して環境変数を設定しましたrhc set-env
か?
OpenShift の Node.js アプリケーションで発生する 503 エラーの一般的な (ただし唯一ではない) 原因は、OpenShift のポート番号を上書きすることです。Keystone は を見るprocess.env.PORT
前に を見ますprocess.env.OPENSHIFT_INTERNAL_PORT
。したがって、または をPORT
設定した場合は、 よりも優先されます。.env
rhc set-env
OPENSHIFT_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/
)。
あなたの質問は詳細が少し薄いので、これらは私の最善の推測です。問題をより正確に評価できるように、さらに具体的な情報を投稿してください。