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 disponi di più file JAR nella cartella principale del bundle di origine dell'applicazione, è necessario includere un file Procfile che indichi a Elastic Beanstalk quale/i JAR eseguire. È anche possibile includere un file Procfile per una singola applicazione JAR per configurare la macchina virtuale Java (JVM) che esegue la tua 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 informazioni dettagliate sulla scrittura e l'utilizzo di un Procfile, espandere la sezione Buildfile e Procfile in Estensione delle piattaforme Elastic Beanstalk Linux.

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

Il comando che esegue lo JAR principale nella tua applicazione deve essere chiamato web e deve essere il primo comando elencato nel Procfile. Il server nginx inoltra tutte le richieste HTTP che riceve dal load balancer del tuo 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 di Elastic Beanstalk utilizza una versione della piattaforma AMI Amazon Linux (precedente Amazon Linux 2), leggi le informazioni aggiuntive presenti in questa sezione.

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

  • Il 18 luglio 2022 Elastic Beanstalk ha impostato lo stato di tutte le ramificazioni della piattaforma sull'AMI Amazon Linux (AL1) su retired (ritirato). 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 un Procfile per eseguire più applicazioni, Elastic Beanstalk sulle versioni della piattaforma AMI Amazon Linux si aspetta che ogni applicazione aggiuntiva ascolti su una porta superiore di 100 rispetto alla precedente. Elastic Beanstalk imposta la variabile PORT accessibile all'interno di ogni applicazione per la porta su cui si aspetta venga eseguita l'applicazione. È 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.