Question

Je reçois toujours un 503 mais aucune erreur dans le journal lorsque j'essaie d'héberger mon application keystone.js sur openshift, quelqu'un a-t-il réussi à héberger une application keystone avec eux ?Tout fonctionne bien sur localhost.

J'utilise une nouvelle installation de keystone.js sans blog ni cloud.

Était-ce utile?

La solution

Vous fournissez très peu d’informations pour vous donner une réponse définitive.À quelles options passez-vous keystone.init()?Utilises-tu dotenv?Si oui, qu'est-ce que tu mets là ?Avez-vous défini des variables d'environnement en utilisant rhc set-env?

Je demande parce qu'un coupable courant (mais pas de loin le seul) des erreurs 503 dans les applications Node.js sur OpenShift est un numéro de port remplaçant celui d'OpenShift.Keystone regarde process.env.PORT avant de regarder process.env.OPENSHIFT_INTERNAL_PORT.Alors, si vous avez PORT réglé sur votre .env ou avec rhc set-env il aura la priorité sur OPENSHIFT_INTERNAL_PORT.

Je suis tombé sur une question similaire sur le Groupe Google KeystoneJS.Dans cet autre cas, le développeur avait ajouté une cartouche MONGODB à son application, mais n'avait pas défini la chaîne de connexion pour la cartouche dans Keystone.

Si tel est également votre cas, vous devez définir le Keystone mongo choix dans Keystone.init() ou en utilisant Keystone.set('mongo', 'connection_sring').Lorsque vous avez créé la cartouche, vous avez obtenu une URL et des informations d'identification.OpenShit les transmet à votre application dans des variables d'environnement.Vous pouvez créer la chaîne de connexion mongo comme suit :

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,
  ...
});

Ou vous pouvez utiliser rhc set-env pour régler le MONGO variable d'environnement comme suit :

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

Le connection url ci-dessus est celui que vous avez obtenu d'OpenShift lorsque vous avez créé la cartouche.Si cela ressemble à une URL MONGODB standard (par ex. mongodb://127.6.85.129:27017/).

Ce ne sont que mes meilleures suppositions, étant donné que votre question est un peu mince sur les détails.Vous souhaiterez peut-être publier plus de détails afin que nous puissions évaluer plus précisément votre problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top