Configuration du processus de l'application avec un Procfile - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration du processus de l'application avec un Procfile

Si vous avez plusieurs JAR fichiers à la racine du bundle source de votre application, vous devez inclure un Procfile fichier indiquant à Elastic JAR Beanstalk le ou les fichiers à exécuter. Vous pouvez également inclure un Procfile fichier pour une seule JAR application afin de configurer la machine virtuelle Java (JVM) qui exécute votre application.

Nous vous recommandons de toujours fournir un Procfile dans le bundle source avec votre application. De cette façon, vous contrôlez précisément les processus Elastic Beanstalk qui s'exécutent pour votre application et les arguments que ces processus reçoivent.

Pour plus de détails sur l'écriture et l'utilisation d'un, Procfile voirBuildfile et Procfile.

Exemple Procfile
web: java -Xms256m -jar server.jar cache: java -jar mycache.jar web_foo: java -jar other.jar

La commande qui exécute la commande principale JAR de votre application doit être appeléeweb, et il doit s'agir de la première commande répertoriée dans votreProcfile. Le serveur nginx transmet HTTP toutes les demandes qu'il reçoit de l'équilibreur de charge de votre environnement à cette application.

Elastic Beanstalk part du principe que toutes les entrées dans Procfile doivent s'exécuter en permanence et redémarre automatiquement toute application définie dans le Procfile qui s'arrête. Pour exécuter des commandes qui s'arrêteront et ne devraient pas être redémarrées, utilisez un Buildfile.

Si votre environnement Elastic Beanstalk Java SE utilise une version de la plateforme Amazon Linux (antérieure à AMI Amazon Linux 2), consultez les informations supplémentaires contenues dans cette section.

Remarques
  • Les informations contenues dans cette rubrique s'appliquent uniquement aux branches de plateforme basées sur Amazon Linux AMI (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et nécessitent des paramètres de configuration différents.

  • Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.

Par défaut, Elastic Beanstalk configure le serveur proxy nginx pour transmettre les demandes à votre application sur le port 5000. Vous pouvez remplacer le port par défaut en définissant la propriété d'environnement PORT sur le port que votre application écoute.

Si vous utilisez un Procfile pour exécuter plusieurs applications, Elastic Beanstalk sur les versions de la plateforme AMI Amazon Linux s'attend à ce que chaque application supplémentaire écoute sur un port 100 plus élevé que le précédent. Elastic Beanstalk PORT définit la variable accessible depuis chaque application sur le port sur lequel il s'attend à ce que l'application s'exécute. Vous pouvez accéder à cette variable dans votre code d'application en appelant System.getenv("PORT").

Dans l'exemple Procfile précédent, l'application web écoute sur le port 5000, cache écoute sur le port 5100 et web_foo écoute sur le port 5200. web configure son port d'écoute en lisant la variable PORT et ajoute 100 à ce nombre pour déterminer sur quel port cache écoute afin de pouvoir lui envoyer des demandes.