

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de comandos de inicio personalizados con Procfile en Elastic Beanstalk
<a name="go-procfile"></a>

Si desea especificar un comando personalizado que inicie una aplicación de Go, incluya un archivo llamado `Procfile` en la raíz del paquete de código fuente.

Para obtener más información sobre cómo escribir y usar un `Procfile`, consulte[Buildfile y Procfile](platforms-linux-extend.build-proc.md).

**Example Procfile**  

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

Debe llamar a la aplicación `web`, principal y enumerarla como el primer comando en su `Procfile`. Elastic Beanstalk expone la aplicación `web` principal en la raíz de la URL entorno; por ejemplo, `http://my-go-env.elasticbeanstalk.com`.

Elastic Beanstalk también ejecuta todas las aplicaciones cuyo nombre no contiene el prefijo `web_`, aunque estas aplicaciones no están disponibles desde el exterior de la instancia.

Elastic Beanstalk espera que los procesos del archivo `Procfile` se ejecuten de forma continua. Elastic Beanstalk supervisa estas aplicaciones y reinicia todos los procesos que terminan. En los procesos de corta ejecución, utilice un comando [Buildfile](go-buildfile.md).

## Uso de un archivo Procfile en la AMI de Amazon Linux (anterior a Amazon Linux 2)
<a name="go-procfile.alami"></a>

Si su entorno Elastic Beanstalk Go utiliza una versión de la plataforma AMI de Amazon Linux (anterior a Amazon Linux 2), lea la información adicional de esta sección.

**Notas**  
La información de este tema solo se aplica a las ramas de plataforma basadas en la AMI de Amazon Linux (AL1). AL2Las ramas de la AL2 plataforma 023/ no son compatibles con las versiones anteriores de la plataforma AMI (AL1) de Amazon Linux y *requieren ajustes de configuración diferentes*.
 [El 18 de julio de 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk estableció el estado de todas las ramas de plataforma basadas en la AMI AL1 de Amazon Linux () como retiradas.** Para obtener más información sobre la migración a una ramificación de la plataforma Amazon Linux 2023 actual y totalmente compatible, consulte [Migración de su aplicación de Linux de Elastic Beanstalk a Amazon Linux 2023 o Amazon Linux 2](using-features.migration-al.md).

### Transferencia de puertos: AMI de Amazon Linux (AL1)
<a name="go-procfile.alami.ports"></a>

**nota**  
La información de este tema solo se aplica a las ramas de plataforma basadas en la AMI de Amazon Linux (AL1). AL2Las ramas de la AL2 plataforma 023/ no son compatibles con las versiones anteriores de la plataforma AMI (AL1) de Amazon Linux y *requieren ajustes de configuración diferentes*.

Elastic Beanstalk configura el proxy nginx para redirigir solicitudes a la aplicación en el número de puerto especificado en la `PORT` [propiedad del entorno](go-environment.md#go-options) de la aplicación. La aplicación siempre debe usar ese puerto como escucha. Para obtener acceso a esta variable dentro de la aplicación, llame al método `os.Getenv("PORT")`.

Elastic Beanstalk utiliza el número de puerto especificado en la propiedad del entorno `PORT` como puerto de la primera aplicación de `Procfile` y después va a aumentando el número de puerto de las siguientes aplicaciones de `Procfile` en incrementos de 100. Si no se establece la propiedad del entorno `PORT`, Elastic Beanstalk utiliza 5000 para el puerto inicial.

En el ejemplo anterior, la propiedad de entorno `PORT` de la aplicación `web` es 5000, la variable de la aplicación `queue_process` es 5100 y la variable de la aplicación `foo` es 5200. 

Puede especificar el puerto inicial utilizando la opción `PORT` con el espacio de nombres [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment), tal y como se muestra en el ejemplo siguiente. 

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

Para obtener más información sobre cómo configurar las propiedades de la aplicación, consulte [Opciones de configuración](ebextensions-optionsettings.md).