

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

# Mengonfigurasi proses aplikasi dengan Procfile
<a name="java-se-procfile"></a>

Jika Anda memiliki lebih dari satu file JAR di akar paket sumber aplikasi Anda, Anda harus menyertakan file `Procfile` yang memberitahu Elastic Beanstalk JAR mana yang dijalankan. Anda juga dapat menyertakan file `Procfile` untuk satu aplikasi JAR untuk mengonfigurasi mesin virtual Java (JVM) yang menjalankan aplikasi Anda.

Kami merekomendasikan agar Anda selalu menyediakan `Procfile` di paket sumber di samping aplikasi Anda. Dengan cara ini, Anda secara tepat mengontrol proses mana yang dijalankan Elastic Beanstalk untuk aplikasi Anda dan argumen yang diterima proses ini.

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

**Example Procfile**  

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

Perintah yang menjalankan JAR utama di aplikasi Anda harus disebut `web`, dan menjadi perintah pertama yang tercantum di `Procfile`. Server nginx meneruskan semua permintaan HTTP yang diterima dari penyeimbang beban lingkungan Anda ke aplikasi ini.

Elastic Beanstalk mengasumsikan bahwa semua entri di Procfile harus berjalan setiap saat dan secara otomatis memulai ulang aplikasi yang ditentukan di Procfile yang berakhir. Untuk menjalankan perintah yang akan mengakhiri dan tidak harus dimulai ulang, gunakan [`Buildfile`](java-se-buildfile.md).

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

Jika lingkungan Java SE 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="java-se-procfile.alami.ports"></a>

Secara default, Elastic Beanstalk mengonfigurasi proksi nginx untuk meneruskan permintaan ke aplikasi Anda di port 5000. Anda dapat mengganti port default dengan mengatur `PORT` [properti lingkungan](java-se-platform.md#java-se-options) ke port yang didengarkan aplikasi utama Anda.

Jika Anda menggunakan `Procfile` untuk menjalankan beberapa aplikasi, Elastic Beanstalk di versi platform Amazon Linux AMI mengharapkan setiap aplikasi tambahan untuk mendengarkan di port 100 yang lebih tinggi dari sebelumnya. Elastic Beanstalk mengatur variabel PORT dapat diakses dari dalam setiap aplikasi ke port yang mengharapkan untuk menjalankan aplikasi. Anda dapat mengakses variabel ini dalam kode aplikasi Anda dengan memanggil `System.getenv("PORT")`.

Pada contoh `Procfile` sebelumnya, aplikasi `web` mendengarkan di port 5000, `cache` mendengarkan di port 5100, dan `web_foo` mendengarkan di port 5200. `web` mengonfigurasi port mendengarkannya dengan membaca variabel `PORT`, dan menambahkan 100 ke jumlah tersebut untuk menentukan port `cache` mana yang mendengarkan sehingga dapat mengirimkan permintaan.