

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 di comandi di avvio personalizzati con un Procfile su Elastic Beanstalk
<a name="go-procfile"></a>

Per specificare i comandi personalizzati per iniziare un'applicazione Go, includere un file chiamato `Procfile` nella radice del bundle di origine.

Per informazioni dettagliate sulla scrittura e l'utilizzo di un `Procfile` file, consulta. [Buildfile e Procfile](platforms-linux-extend.build-proc.md)

**Example Procfile**  

```
web: bin/server
queue_process: bin/queue_processor
foo: bin/fooapp
```

È necessario chiamare l'applicazione `web` principale ed elencarla come primo comando nel file `Procfile`. Elastic Beanstalk espone l'applicazione `web` principale nell'URL radice dell'ambiente, ad esempio `http://my-go-env.elasticbeanstalk.com`.

Elastic Beanstalk esegue anche qualsiasi applicazione il cui nome non include il prefisso `web_`, ma queste applicazioni non sono disponibili al di fuori dell'istanza.

Elastic Beanstalk si aspetta che i processi del `Procfile` vengano eseguiti continuamente. Elastic Beanstalk monitora queste applicazioni e riavvia qualsiasi processo che viene terminato. Per i processi con esecuzione breve, utilizza un comando [Buildfile](go-buildfile.md).

## Utilizzo di un Procfile su AMI Amazon Linux (precedente ad Amazon Linux 2)
<a name="go-procfile.alami"></a>

Se l'ambiente Go di Elastic Beanstalk utilizza una versione della piattaforma AMI Amazon Linux (precedente ad 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). 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,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux AMI AL1 () come 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](using-features.migration-al.md).

### Passaggio delle porte — Amazon Linux AMI (AL1)
<a name="go-procfile.alami.ports"></a>

**Nota**  
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*.

Elastic Beanstalk configura il proxy nginx per inoltrare le richieste all'applicazione sul numero di porta specificato nella [proprietà di ambiente](go-environment.md#go-options) `PORT` per l'applicazione. La tua applicazione deve sempre essere in ascolto su tale porta. È possibile accedere a questa variabile all'interno dell'applicazione chiamando il metodo `os.Getenv("PORT")`.

Elastic Beanstalk usa il numero di porta specificato nella proprietà di ambiente `PORT` per la porta per la prima applicazione nel `Procfile`, quindi incrementa di 100 il numero di porta per ogni applicazione successiva nel `Procfile`. Se la proprietà `PORT` dell'ambiente non è impostata, Elastic Beanstalk utilizza 5000 per la porta iniziale.

Nell'esempio precedente, la proprietà di ambiente `PORT` per l'applicazione `web` è 5000, l'applicazione `queue_process` è 5100 e l'applicazione `foo` è 5200. 

È possibile specificare la porta iniziale impostando l'opzione `PORT` con lo spazio dei nomi [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment), come mostrato nel seguente esempio. 

```
option_settings:
  - namespace:  aws:elasticbeanstalk:application:environment
    option_name:  PORT
    value:  <first_port_number>
```

Per ulteriori informazioni sull'impostazione delle proprietà di ambiente per l'applicazione, consulta [Impostazioni opzioni](ebextensions-optionsettings.md).