Jetty adalah container servlet open-source yang ringan untuk menjalankan aplikasi web Java pada instans Elastic Compute Service (ECS). Dibandingkan dengan Apache Tomcat, Jetty lebih cocok untuk aplikasi ringan, skenario konkurensi tinggi, dan lingkungan terdistribusi. Panduan ini mencakup pemasangan Jetty 12 di Linux atau Windows serta verifikasi penerapan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Alamat IP publik (ditetapkan sistem secara statis) atau alamat IP elastis (EIP) yang dikaitkan pada instans ECS. Lihat EIPs.
Aturan grup keamanan yang mengizinkan lalu lintas inbound pada port 22 (SSH), 3389 (RDP), dan 8080 (Jetty). Lihat Add a security group rule.
Lingkungan Java yang telah diterapkan pada instans. Lihat Deploy a Java environment.
Linux
Prosedur ini memasang Jetty 12.0.16. Ganti nomor versi dan jalur direktori dalam perintah jika Anda menggunakan versi berbeda.
Pengaturan cepat
Jika Anda sudah familiar dengan Jetty, jalankan perintah berikut untuk mendapatkan server yang berfungsi:
# Unduh dan ekstrak Jetty
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.16/jetty-home-12.0.16.tar.gz --no-check-certificate
tar -zxvf jetty-home-12.0.16.tar.gz
sudo mv jetty-home-12.0.16 /usr/local/jetty/
# Buat direktori jetty-base dan atur variabel lingkungan
sudo mkdir /usr/local/jetty-base
echo 'export JETTY_HOME=/usr/local/jetty' >> ~/.bashrc
echo 'export JETTY_BASE=/usr/local/jetty-base' >> ~/.bashrc
source ~/.bashrc
# Inisialisasi jetty-base dan mulai Jetty
cd /usr/local/jetty-base
sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploy
sudo java -jar $JETTY_HOME/start.jar --add-module=demos
nohup sudo java -jar $JETTY_HOME/start.jar &Kemudian buka http://<Alamat IP publik ECS>:8080 di browser. Jika halaman uji Jetty muncul, penerapan telah selesai.
Untuk panduan langkah demi langkah beserta penjelasannya, lanjutkan ke bagian berikutnya.
Prosedur langkah demi langkah
Hubungkan ke instans Linux Anda. Lihat Use Workbench to connect to a Linux instance over SSH.
Unduh dan ekstrak paket instalasi Jetty.
PentingJika URL unduhan tidak lagi valid atau Anda ingin versi Jetty yang berbeda, dapatkan URL terbaru dari situs web resmi Jetty. Versi Jetty yang berbeda mendukung versi Java Development Kit (JDK) yang berbeda — periksa riwayat versi untuk memilih versi yang kompatibel dengan JDK Anda.
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.16/jetty-home-12.0.16.tar.gz --no-check-certificate tar -zxvf jetty-home-12.0.16.tar.gz
Pindahkan file yang diekstrak ke
/usr/local/jetty/.sudo mv jetty-home-12.0.16 /usr/local/jetty/Buat direktori
jetty-base.sudo mkdir /usr/local/jetty-baseJetty menggunakan dua direktori:
JETTY_HOME(distribusi Jetty) danJETTY_BASE(konfigurasi server dan aplikasi web Anda). Memisahkan keduanya memungkinkan Anda melakukan upgrade Jetty tanpa mengubah konfigurasi Anda.Atur variabel lingkungan
JETTY_HOMEdanJETTY_BASE.Buka
~/.bashrcuntuk diedit.sudo vim ~/.bashrcTekan
Iuntuk masuk ke mode Insert. Tambahkan baris berikut.export JETTY_HOME=/usr/local/jetty export JETTY_BASE=/usr/local/jetty-baseTekan
Esc, lalu ketik:wqdan tekanEnteruntuk menyimpan dan menutup file.Terapkan perubahan.
source ~/.bashrc
Inisialisasi direktori
jetty-base.Masuk ke direktori
jetty-base.cd /usr/local/jetty-baseInisialisasi direktori dengan modul yang diperlukan.
CatatanUntuk menampilkan semua modul Jetty yang tersedia, jalankan
java -jar $JETTY_HOME/start.jar --list-modules=*. Jika Anda menggunakan Jetty 9, ganti--add-moduledengan--add-to-start.sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploySetelah perintah dijalankan, direktori
$JETTY_BASE/start.d/dan direktori lain yang berisi informasi konfigurasi server akan dibuat.
Terapkan aplikasi contoh dan mulai Jetty.
Terapkan aplikasi web contoh Jetty.
CatatanUntuk Jetty 10 atau 11, ganti
demosdengandemo. Untuk Jetty 9, jalankansudo mv $JETTY_HOME/demo-base/webapps/ROOT $JETTY_BASE/webappssebagai gantinya. Untuk menguji dengan file WAR Anda sendiri, unggah ke$JETTY_BASE/webapps. Lihat Upload or download files.sudo java -jar $JETTY_HOME/start.jar --add-module=demosMulai Jetty.
CatatanJetty mendengarkan pada port 8080 secara default. Untuk memeriksa apakah port 8080 sedang digunakan, jalankan
sudo netstat -tunlp | grep 8080. Untuk menjalankan Jetty pada port berbeda (misalnya, 8081), jalankannohup sudo java -jar $JETTY_HOME/start.jar jetty.http.port=8081 &.nohup sudo java -jar $JETTY_HOME/start.jar &
PentingJalankan perintah berikut dari direktori
jetty-base.Verifikasi penerapan.
Periksa apakah Jetty sedang berjalan.
ps aux | grep jettyJika Jetty berhasil dimulai, output akan menyertakan proses Java dengan
start.jar.Buka
http://<Alamat IP publik ECS>:8080di browser pada mesin lokal Anda. Jika halaman uji Jetty muncul, lingkungan web Java telah berhasil diterapkan.CatatanJika Anda mengubah port, ganti
8080dengan nomor port Anda dan pastikan grup keamanan mengizinkan lalu lintas inbound pada port tersebut. Lihat Add a security group rule. Jika Anda menerapkan file WAR Anda sendiri, kunjungihttp://<Alamat IP publik ECS>:8080/<nama paket>untuk memverifikasi akses.
Windows
Prosedur ini hanya berlaku untuk Jetty 10, 11, dan 12.
Prosedur ini memasang Jetty 12.0.16. Ganti nomor versi dan jalur direktori dalam langkah-langkah jika Anda menggunakan versi berbeda.
Hubungkan ke instans Windows Anda. Lihat Use Workbench to connect to a Windows instance over RDP.
Unduh paket instalasi Jetty dari situs web resmi Jetty. Versi Jetty yang berbeda mendukung versi JDK yang berbeda — periksa tabel kompatibilitas versi sebelum mengunduh.


Ekstrak paket yang diunduh ke direktori instalasi Anda. Dalam contoh ini, paket diekstrak ke
C:\download.PentingEkstrak ke jalur yang tidak mengandung spasi.
Atur variabel lingkungan
JETTY_HOME.Klik kanan This PC dan pilih Properties.

Pada halaman About, gulir ke bawah dan klik Advanced system settings.

Klik Environment Variables.

Pada bagian System variables, klik New. Atur nama variabel menjadi
JETTY_HOMEdan nilai variabel menjadi jalur instalasi Jetty Anda, misalnyaC:\download\jetty-home-12.0.16. Klik OK.
Klik OK untuk menyimpan.
Buat folder
jetty-base. Dalam contoh ini, folder dibuat diC:\download\jetty-base.
Inisialisasi folder
jetty-base.Arahkan ke folder
jetty-base, ketikcmddi bilah alamat, lalu tekanEnteruntuk membuka command prompt.
Inisialisasi folder dengan modul yang diperlukan.
java -jar %JETTY_HOME%/start.jar --add-module=http,server,deploySetelah perintah dijalankan,
jetty-baseberisi direktoristart.ddan file konfigurasi server lainnya.
Terapkan aplikasi contoh dan mulai Jetty.
Terapkan aplikasi web contoh Jetty. Untuk Jetty 10 atau 11, ganti
demosdengandemo.CatatanUntuk menguji dengan file WAR Anda sendiri, unggah ke
<jetty-base>\webapps(misalnya,C:\download\jetty-base\webapps). Lihat Upload or download files.java -jar %JETTY_HOME%/start.jar --add-module=demosMulai Jetty. Biarkan jendela command prompt tetap terbuka selama Jetty berjalan.
CatatanJetty mendengarkan pada port 8080 secara default. Untuk memeriksa apakah port 8080 sedang digunakan, jalankan
netstat -ano | findstr :8080. Untuk menjalankan pada port berbeda (misalnya, 8081), jalankanjava -jar %JETTY_HOME%/start.jar jetty.http.port=8081.java -jar %JETTY_HOME%/start.jar
Verifikasi penerapan. Buka
http://<Alamat IP publik ECS>:8080di browser pada mesin lokal Anda. Jika halaman uji Jetty muncul, lingkungan web Java telah berhasil diterapkan.CatatanJika Anda mengubah port, ganti
8080dengan nomor port Anda dan pastikan grup keamanan mengizinkan lalu lintas inbound pada port tersebut. Lihat Add a security group rule. Jika Anda menerapkan file WAR Anda sendiri, kunjungihttp://<Alamat IP publik ECS>:8080/<nama paket>untuk memverifikasi akses.
Langkah berikutnya
Buat website: Setelah Jetty berjalan, konfigurasikan website pada instans dan bind nama domain ke alamat IP publiknya. Lihat Build a website.
Terapkan aplikasi Anda: Salin file WAR aplikasi Anda ke
$JETTY_BASE/webapps(Linux) atau<jetty-base>\webapps(Windows). Setelah Jetty dimulai, aplikasi Anda dapat diakses dihttp://<Alamat IP publik ECS>:8080/<nama paket>. Untuk detail konfigurasi Jetty, lihat Jetty operations guide.Tambahkan database: Jika aplikasi Anda memerlukan database, hubungkan ke instans ApsaraDB RDS for MySQL atau terapkan MySQL langsung pada instans ECS. Lihat Database overview.
Tingkatkan ketersediaan: Gunakan instans Server Load Balancer (SLB) untuk mendistribusikan traffic ke beberapa instans Jetty. Lihat Getting started.
Transfer file: Unggah file lokal ke instans. Lihat Upload a file to or download a file from a Linux instance.
Pemecahan masalah
Tidak dapat mengakses http://<Alamat IP publik ECS>:8080 setelah penerapan
Dua penyebab paling umum adalah port yang diblokir dan port Jetty yang diubah.
Diblokir oleh firewall atau SELinux
Pada Linux, periksa apakah firewall sistem atau Security-Enhanced Linux (SELinux) memblokir koneksi eksternal. Nonaktifkan jika diperlukan:
Firewall: Enable or disable the system firewall on a Linux ECS instance
SELinux: Enable or disable SELinux
Pada Windows, pastikan Windows Firewall tidak memblokir port 8080. Lihat Manage the system firewall of a Windows instance.
Jetty mendengarkan pada port berbeda
Jika Anda menjalankan Jetty dengan port kustom, perbarui URL agar sesuai, dan pastikan grup keamanan mengizinkan lalu lintas inbound pada port tersebut. Lihat Add a security group rule.