Mengonfigurasi proses aplikasi dengan Procfile - AWS Elastic Beanstalk

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

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 penulisan dan penggunaan Procfile, perluas bagian Buildfile dan Procfile di Memperluas platform Linux Elastic Beanstalk.

contoh 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.

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). Cabang platform AL2023/AL2 tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan memerlukan pengaturan konfigurasi yang berbeda.

  • Pada tanggal 18 Juli 2022, 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 2 Amazon Linux 2 Amazon Linux 2

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