

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengkonfigurasi perintah start khusus dengan Procfile pada Elastic Beanstalk
<a name="go-procfile"></a>

Untuk menentukan perintah kustom untuk memulai aplikasi Go, sertakan file bernama `Procfile` di akar paket sumber Anda.

Untuk detail tentang menulis dan menggunakan a`Procfile`, lihat[Buildfile dan Procfile](platforms-linux-extend.build-proc.md).

**Example Procfile**  

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

Anda harus memanggil `web` aplikasi utama, dan daftarkan sebagai perintah pertama di `Procfile`. Elastic Beanstalk mengekspos aplikasi `web` utama di akar URL lingkungan; misalnya, `http://my-go-env.elasticbeanstalk.com`.

Elastic Beanstalk juga menjalankan aplikasi yang namanya tidak memiliki prefiks `web_`, tetapi aplikasi ini tidak tersedia dari luar instans Anda.

Elastic Beanstalk mengharapkan proses berjalan dari `Procfile` agar berjalan secara terus menerus. Elastic Beanstalk memantau aplikasi ini dan memulai ulang setiap proses yang berakhir. Untuk proses yang berjalan singkat, gunakan perintah [Buildfile](go-buildfile.md).

## Menggunakan Procfile di Amazon Linux AMI (Amazon Linux 2 terdahulu)
<a name="go-procfile.alami"></a>

Jika lingkungan Go Elastic Beanstalk Anda menggunakan versi platform Amazon Linux AMI (Amazon Linux 2 terdahulu), baca informasi tambahan di bagian ini.

**Catatan**  
Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). AL2023/ cabang AL2 platform tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan *memerlukan pengaturan konfigurasi yang berbeda*.
 **Pada [18 Juli 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) Elastic Beanstalk menetapkan status semua cabang platform berdasarkan Amazon Linux AMI AL1 () untuk pensiun.** Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. [Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2](using-features.migration-al.md)

### Port lewat - Amazon Linux AMI (AL1)
<a name="go-procfile.alami.ports"></a>

**catatan**  
Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). AL2023/ cabang AL2 platform tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan *memerlukan pengaturan konfigurasi yang berbeda*.

Elastic Beanstalk mengonfigurasi proksi nginx untuk meneruskan permintaan ke aplikasi Anda di nomor port yang ditentukan di `PORT` [properti lingkungan](go-environment.md#go-options) untuk aplikasi Anda. Aplikasi Anda harus selalu mendengarkan di port tersebut. Anda dapat mengakses variabel ini dalam aplikasi Anda dengan memanggil metode `os.Getenv("PORT")`.

Elastic Beanstalk menggunakan nomor port yang ditentukan di properti lingkungan `PORT` untuk port untuk aplikasi pertama di `Procfile`, dan kemudian menambahkan nomor port untuk setiap aplikasi berikutnya di `Procfile` sebanyak 100. Jika properti lingkungan `PORT` tidak diatur, Elastic Beanstalk menggunakan 5000 untuk port awal.

Di contoh sebelumnya, properti lingkungan `PORT` untuk aplikasi `web` adalah 5000, aplikasi `queue_process` adalah 5100, dan aplikasi `foo` adalah 5200. 

Anda dapat menentukan port awal dengan mengatur opsi `PORT` dengan namespace [aws:elasticbeanstalk:aplication:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment), seperti yang ditunjukkan di contoh berikut. 

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

Untuk informasi selengkapnya tentang pengaturan properti lingkungan untuk aplikasi Anda, lihat [Pengaturan opsi](ebextensions-optionsettings.md).