OpenShiftのキーストーンJSアプリをホスティングします
-
23-12-2019 - |
質問
私は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
または.env
にrhc 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/
)
あなたの質問が細部の少し薄いことを考えると、これらは私の最善の推測です。あなたはもう少し詳細を投稿したいので、私たちがあなたの問題をより正確に評価することができます。