Configurazione del processo dell'applicazione con un Procfile - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del processo dell'applicazione con un Procfile

Se hai più di un JAR file nella radice del pacchetto sorgente dell'applicazione, devi includere un Procfile file che indichi a Elastic JAR Beanstalk quali eseguire. Puoi anche includere un Procfile file per una singola JAR applicazione per configurare la macchina virtuale Java (JVM) che esegue l'applicazione.

Si consiglia di fornire sempre un Procfile nel bundle di origine insieme all'applicazione. In questo modo si controlla con precisione quali processi vengono eseguiti da Elastic Beanstalk per l'applicazione e quali argomenti ricevono questi processi.

Per dettagli sulla scrittura e l'uso di un file, Procfile vedereBuildfile e Procfile.

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

È necessario chiamare il comando che esegue il comando principale JAR nell'applicazioneweb, e deve essere il primo comando elencato inProcfile. Il server nginx inoltra HTTP tutte le richieste che riceve dal sistema di bilanciamento del carico dell'ambiente a questa applicazione.

Elastic Beanstalk presuppone che tutte le voci in Procfile siano eseguite in qualsiasi momento e riavvia automaticamente qualsiasi applicazione definita nel Procfile che viene terminato. Per eseguire comandi che termineranno e non devono essere riavviati, utilizza un Buildfile.

Se il tuo ambiente Java SE Elastic Beanstalk utilizza una versione della piattaforma AMI Amazon Linux (precedente ad Amazon Linux 2), leggi le informazioni aggiuntive in questa sezione.

Note
  • Le informazioni contenute in questo argomento si applicano solo ai rami della piattaforma basati su Amazon Linux AMI (AL1). AL2I rami della AL2 piattaforma 023/ non sono compatibili con le versioni precedenti della piattaforma Amazon Linux AMI (AL1) e richiedono impostazioni di configurazione diverse.

  • Il 18 luglio 2022, Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux () come ritirato. AMI AL1 Per ulteriori informazioni sulla migrazione a una ramificazione della piattaforma Amazon Linux 2023 attuale e completamente supportata, consulta Migrazione dell'applicazione Elastic Beanstalk Linux ad Amazon Linux 2023 o Amazon Linux 2.

Per impostazione predefinita, Elastic Beanstalk configura il proxy nginx per inoltrare le richieste alla tua applicazione sulla porta 5000. È possibile sostituire la porta predefinita impostando la proprietà dell'ambiente PORT sulla porta di ascolto dell'applicazione principale.

Se utilizzi Procfile a per eseguire più applicazioni, Elastic Beanstalk sulle versioni della piattaforma AMI Amazon Linux prevede che ogni applicazione aggiuntiva ascolti su una porta 100 più alta della precedente. Elastic Beanstalk PORT imposta la variabile accessibile dall'interno di ogni applicazione sulla porta su cui si aspetta che l'applicazione venga eseguita. È possibile accedere a questa variabile all'interno dell'applicazione chiamando System.getenv("PORT").

Nell'esempio precedente Procfile, l'applicazione web è in ascolto sulla porta 5000, cache è in ascolto sulla porta 5100 e web_foo sulla porta 5200. web configura la propria porta di ascolto leggendo la variabile PORT e aggiungendo 100 al numero di porta per determinare su quale porta è in ascolto cache, in modo che sia possibile inviarvi delle richieste.