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

Wenn Sie mehr als eine JAR Datei im Stammverzeichnis Ihres Anwendungsquellpakets haben, müssen Sie eine Procfile Datei hinzufügen, die Elastic Beanstalk mitteilt, welche JAR (n) ausgeführt werden soll. Sie können auch eine Procfile Datei für eine einzelne JAR Anwendung hinzufügen, um die virtuelle Java-Maschine (JVM) zu konfigurieren, auf der Ihre 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 unterBuildfile und Procfile.

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

Der Befehl, der den Hauptbefehl JAR in Ihrer Anwendung ausführt, muss aufgerufen werdenweb, und es muss der erste Befehl sein, der in Ihrer Anwendung aufgeführt istProcfile. Der Nginx-Server leitet alle HTTP Anfragen, die er vom Load Balancer Ihrer Umgebung empfängt, 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.

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

Hinweise
  • Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/ AL2 Plattformzweige sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und erfordern andere Konfigurationseinstellungen.

  • Am 18. Juli 2022 hat Elastic Beanstalk den Status aller Plattformbranchen, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt. 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 a verwenden, Procfile um mehrere Anwendungen auszuführen, erwartet Elastic Beanstalk auf Amazon AMI Linux-Plattformversionen, dass jede weitere Anwendung auf einem Port lauscht, der 100 höher ist als der vorherige. Elastic Beanstalk setzt die PORT Variable, auf die von jeder Anwendung aus zugegriffen werden kann, auf dem der Port verwendet werden soll, auf dem die Anwendung ausgeführt werden soll. 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.