Konfigurieren der Anwendung mit einer Procfile-Datei - AWS Elastic Beanstalk

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren der Anwendung mit einer Procfile-Datei

Sofern im Stamm des Quell-Bundles der Anwendung mehr als eine JAR-Datei vorhanden ist, müssen Sie eine Procfile-Datei einbinden, anhand derer Elastic Beanstalk erkennt, welche JAR-Dateien(en) ausgeführt werden sollen. Bei einer einzelnen JAR-Anwendung können Sie auch eine Procfile-Datei einbinden. Damit wird die JVM (Java Virtual Machine) konfiguriert, auf der die Anwendung ausgeführt wird.

Wir empfehlen, immer eine Procfile im Quellpaket mit Ihrer Anwendung bereitzustellen. Auf diese Weise können Sie genau steuern, welche Prozesse Elastic Beanstalk für Ihre Anwendung ausführt und welche Argumente diese Prozesse erhalten.

Einzelheiten zum Schreiben und Verwenden eines Procfile finden Sie im Abschnitt Buildfile und Procfile unter Erweitern von Elastic Beanstalk-Linux-Plattformen.

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

Der Befehl für die Ausführung der wichtigsten JAR-Datei in der Anwendung muss den Namen web tragen und der erste Befehl in der Procfile-Datei sein. Der nginx-Server leitet alle HTTP-Anforderungen, die er vom Load Balancer der Umgebung erhält, an diese Anwendung weiter.

Elastic Beanstalk geht davon aus, dass alle Einträge in der Procfile-Datei stets ausgeführt werden sollen. Daher wird automatisch jede Anwendung, die in der Procfile-Datei definiert ist und beendet wird, neu gestartet. Wenn die Anwendung mit einem Befehl beendet, aber nicht wieder neu gestartet werden soll, verwenden Sie eine -Datei Buildfile.

Falls Ihre Elastic Beanstalk Java SE-Umgebung eine Amazon Linux AMI-Plattformversion (vor Amazon Linux 2) verwendet, lesen Sie die zusätzlichen Informationen in diesem Abschnitt.

Hinweise
  • Die Informationen in diesem Thema beziehen sich nur auf Plattformverzweigungen auf Basis von Amazon Linux AMI (AL1). AL2023/AL2-Plattformzweige sind mit früheren Plattformversionen von Amazon Linux AMI (AL1) inkompatibel und erfordern andere Konfigurationseinstellungen.

  • Am 18. Juli 2022 stellte Elastic Beanstalk den Status aller Plattformzweige auf Basis von Amazon-Linux-AMI (AL1) auf außer Betrieb genommen. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.

Standardmäßig wird der nginx-Proxy von Elastic Beanstalk so konfiguriert, dass alle Anforderungen an die Anwendung über Port 5000 weitergeleitet werden. Diese Port-Standardeinstellung können Sie überschreiben. Legen Sie dazu die PORT-Umgebungseigenschaft auf den Überwachungsport der Hauptanwendung fest.

Wenn Sie einen Procfile verwenden, um mehrere Anwendungen auszuführen, erwartet Elastic Beanstalk auf den AMI-Plattformversionen von Amazon Linux, dass jede zusätzliche Anwendung auf einem Port lauscht, der 100 höher ist als der vorherige. Elastic Beanstalk legt die PORT-Variable, auf die von jeder Anwendung zugegriffen werden kann, auf den Port fest, auf den die Anwendung erwartungsgemäß zugreift. Sie können auf diese Variable im Anwendungscode zugreifen, indem Sie aufrufe System.getenv("PORT").

Im vorherigen Beispiel für Procfile wurden für die web-Anwendung der Überwachungsport 5000, für cache der Überwachungsport 5100 und für web_foo der Überwachungsport 5200 konfiguriert. Für web wird der Überwachungsport durch Auslesen der PORT-Variable und Addieren der Zahl 100 konfiguriert. Damit wird der Überwachungsport von cache für die Anforderungsübermittlung bestimmt.