

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration de commandes de démarrage personnalisées avec un Procfile sur Elastic Beanstalk
<a name="go-procfile"></a>

Pour spécifier des commandes personnalisées pour démarrer une application Go, incluez un fichier nommé `Procfile` à la racine de votre groupe source.

Pour plus de détails sur l'écriture et l'utilisation d'un`Procfile`, voir[Buildfile et Procfile](platforms-linux-extend.build-proc.md).

**Example Procfile**  

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

Vous devez appeler l'application principale `web` et la répertorier comme première commande dans votre fichier `Procfile`. Elastic Beanstalk expose la principale application `web` sur l'URL racine de l'environnement ; par exemple, `http://my-go-env.elasticbeanstalk.com`.

Elastic Beanstalk exécute également n'importe quelle application dont le nom n'a pas le préfixe `web_`, mais ces applications ne sont pas disponibles à l'extérieur de votre instance.

Elastic Beanstalk s'attend à ce que les processus s'exécutant à partir du fichier `Procfile` le fassent en continu. Elastic Beanstalk surveille ces applications et redémarre tout processus qui s'arrête. Pour les processus de courte durée, utilisez une commande [Buildfile](go-buildfile.md).

## Utilisation d'un Procfile sur AMI Amazon Linux (antérieure à Amazon Linux 2)
<a name="go-procfile.alami"></a>

Si votre environnement Elastic Beanstalk Go utilise une version de plateforme AMI Amazon Linux (antérieure à Amazon Linux 2), lisez les informations supplémentaires dans cette section.

**Remarques**  
Les informations contenues dans cette rubrique s'appliquent uniquement aux branches de plate-forme basées sur l'AMI Amazon Linux (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et *nécessitent des paramètres de configuration différents*.
 [Le 18 juillet 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk a défini le statut de toutes les branches de la plateforme sur la base de l'AMI AL1 Amazon Linux () comme étant supprimées.** Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez [Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2](using-features.migration-al.md).

### Passage de port — AMI Amazon Linux (AL1)
<a name="go-procfile.alami.ports"></a>

**Note**  
Les informations contenues dans cette rubrique s'appliquent uniquement aux branches de plate-forme basées sur l'AMI Amazon Linux (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et *nécessitent des paramètres de configuration différents*.

Elastic Beanstalk configure le proxy nginx pour transmettre les demandes à votre application sur le numéro de port indiqué dans la [propriété d'environnement](go-environment.md#go-options) `PORT` de votre application. Votre application doit toujours écouter sur ce port. Vous pouvez accéder à cette variable dans votre d'application en appelant la méthode `os.Getenv("PORT")`.

Elastic Beanstalk utilise le numéro de port spécifié dans la propriété d'environnement `PORT` pour le port de la première application dans le fichier `Procfile`. Il augmente ensuite le numéro de port de 100 pour chaque application ultérieure dans le fichier `Procfile`. Si la propriété d'environnement `PORT` n'est pas définie, Elastic Beanstalk utilise 5000 pour le port initial.

Dans l'exemple précédent, la propriété d'environnement `PORT` pour l'application `web` est 5000, l'application `queue_process` est 5100 et l'application `foo` est 5200. 

Vous pouvez spécifier le port initial en définissant l'option `PORT` avec l'espace de noms [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment), comme illustré dans l'exemple suivant. 

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

Pour de plus amples informations sur la définition des propriétés d'environnement pour votre application, veuillez consulter [Paramètres d'option](ebextensions-optionsettings.md).