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 JAR file di root bundel sumber aplikasi Anda, Anda harus menyertakan Procfile file yang memberi tahu Elastic JAR Beanstalk mana yang akan dijalankan. Anda juga dapat menyertakan Procfile file untuk satu JAR aplikasi untuk mengkonfigurasi 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 lihatBuildfile dan Procfile.

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

Perintah yang menjalankan main JAR dalam aplikasi Anda harus dipanggilweb, dan itu harus menjadi perintah pertama yang tercantum dalam aplikasi AndaProcfile. Server nginx meneruskan HTTP semua permintaan yang diterimanya 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 Elastic Beanstalk Java SE Anda menggunakan versi platform AMI Amazon Linux (sebelum Amazon Linux 2), 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 tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1 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

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 a Procfile untuk menjalankan beberapa aplikasi, Elastic Beanstalk di AMI Amazon Linux versi platform mengharapkan setiap aplikasi tambahan untuk mendengarkan pada port 100 lebih tinggi dari yang sebelumnya. Elastic Beanstalk PORT menetapkan variabel yang dapat diakses dari dalam setiap aplikasi ke port yang diharapkan aplikasi berjalan. 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.