Java Web adalah tumpukan teknologi yang mengintegrasikan bahasa pemrograman Java dengan berbagai teknologi dan kerangka kerja untuk memfasilitasi pengembangan aplikasi web dinamis. Pengembang dapat menggunakan Java Web untuk membuat aplikasi web kompleks dan berperforma tinggi yang dapat dijalankan di berbagai platform. Jetty adalah wadah Servlet sumber terbuka yang umumnya digunakan untuk menjalankan aplikasi web Java. Dibandingkan dengan Apache Tomcat, Jetty lebih ringan dan cocok untuk aplikasi ringan, skenario konkurensi tinggi, serta lingkungan terdistribusi. Topik ini menjelaskan cara menerapkan lingkungan web Java pada instance Elastic Compute Service (ECS) menggunakan Jetty.
Prasyarat
Sebelum menerapkan lingkungan web Java pada instance ECS, pastikan instance memenuhi persyaratan berikut:
Instance ECS telah diberi alamat IP publik statis (juga disebut IP publik otomatis atau ditetapkan sistem) atau dikaitkan dengan alamat IP elastis (EIP). Untuk informasi lebih lanjut, lihat EIPs.
Aturan telah ditambahkan ke grup keamanan instance untuk mengizinkan lalu lintas masuk pada port koneksi jarak jauh dan Jetty, seperti port 22, 3389, dan 8080. Untuk informasi tentang cara menambahkan aturan grup keamanan, lihat Tambahkan Aturan Grup Keamanan.
Lingkungan Java telah diterapkan pada instance. Untuk informasi lebih lanjut, lihat Terapkan Lingkungan Java.
Prosedur
Lakukan operasi berikut sesuai dengan sistem operasi instance ECS Anda.
Linux
Dalam contoh ini, Jetty 12.0.16 diinstal. Jika Anda menginstal versi lain dari Jetty atau menggunakan direktori lain, ganti versi dan direktori dalam perintah berikut dengan versi dan direktori sebenarnya.
Sambungkan ke instance Linux Anda. Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Menyambung ke Instance Linux melalui SSH.
Jalankan perintah berikut untuk mengunduh dan mengekstrak paket instalasi Jetty 12.
PentingJika Anda ingin menginstal versi lain dari Jetty atau URL unduhan berikut tidak valid, kunjungi situs resmi Jetty untuk mendapatkan URL unduhan terbaru dan ganti URL dalam perintah wget berikut dengan URL yang Anda peroleh.
Versi Jetty yang berbeda mendukung versi Java Development Kit (JDK) yang berbeda. Pilih versi Jetty yang sesuai berdasarkan versi JDK yang diinstal saat Anda menerapkan lingkungan Java. Untuk informasi lebih lanjut, kunjungi situs resmi 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.gzJalankan perintah berikut untuk memindahkan file instalasi Jetty ke direktori /usr/local/jetty/:
sudo mv jetty-home-12.0.16 /usr/local/jetty/Jalankan perintah berikut untuk membuat direktori
jetty-base:sudo mkdir /usr/local/jetty-baseKonfigurasikan variabel lingkungan.
Jalankan perintah berikut untuk memodifikasi file
~/.bashrc:sudo vim ~/.bashrcTekan tombol
Iuntuk masuk ke mode Sisipkan dan tambahkan konten berikut ke file.CatatanSetel parameter
JETTY_HOMEke direktori tempat Anda ingin menginstal Jetty. Setel parameterJETTY_BASEke direktorijetty-base.export JETTY_HOME=/usr/local/jetty export JETTY_BASE=/usr/local/jetty-baseTekan tombol
Escuntuk keluar dari mode Sisipkan. Masukkan:wqdan tekan tombolEnteruntuk menyimpan dan menutup file.Jalankan perintah berikut agar perubahan berlaku:
source ~/.bashrc
Mulai modul Jetty dan inisialisasi direktori
jetty-base.Jalankan perintah berikut untuk masuk ke direktori
jetty-base:cd /usr/local/jetty-baseJalankan perintah berikut untuk menginisialisasi direktori
jetty-base. Setelah perintah dijalankan, direktori$JETTY_BASE/start.d/dan direktori lain yang berisi informasi konfigurasi server dibuat.CatatanAnda dapat menjalankan perintah
java -jar $JETTY_HOME/start.jar --list-modules=*untuk melihat modul mana yang tersedia.Jika Anda menggunakan Jetty 9, ganti
--add-moduledengan--add-to-start.
sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploy
Periksa konfigurasi lingkungan.
PentingPerintah berikut harus dijalankan di direktori
jetty-base.Jalankan perintah berikut untuk menerapkan aplikasi web sampel yang disediakan oleh Jetty.
Jika Anda menggunakan Jetty 10 atau 11, ganti
demosdalam perintah berikut dengandemo.Jika Anda menggunakan Jetty 9, jalankan perintah
sudo mv $JETTY_HOME/demo-base/webapps/ROOT $JETTY_BASE/webappsuntuk menerapkan aplikasi web sampel.
CatatanAnda juga dapat mengunggah paket WAR proyek uji lokal ke direktori
$JETTY_BASE/webappsuntuk pengujian. Untuk informasi lebih lanjut, lihat Unggah atau Unduh File.sudo java -jar $JETTY_HOME/start.jar --add-module=demosJalankan perintah berikut untuk memulai Jetty.
CatatanSecara default, Jetty mendengarkan pada port 8080. Anda dapat menjalankan perintah
sudo netstat -tunlp | grep 8080untuk memeriksa apakah port tersebut sudah digunakan. Jika port sudah digunakan, Anda dapat menentukan port lain untuk menghindari konflik port saat memulai Jetty. Misalnya, jalankan perintahnohup sudo java -jar $JETTY_HOME/start.jar jetty.http.port=8081 &untuk menentukan port untuk Jetty.nohup sudo java -jar $JETTY_HOME/start.jar &Di bilah alamat browser web pada perangkat lokal Anda, masukkan
http://<Alamat IP publik instance ECS>:8080. Jika halaman uji Jetty muncul, lingkungan web Java telah dikonfigurasi sesuai harapan.CatatanJika Anda mengubah nomor port Jetty, ganti 8080 dengan nomor port baru yang Anda tentukan dan konfirmasikan bahwa grup keamanan instance mengizinkan lalu lintas masuk pada port tersebut. Untuk informasi tentang cara menambahkan aturan grup keamanan, lihat Tambahkan Aturan Grup Keamanan.
Jika Anda mengunggah paket WAR proyek uji lokal, kunjungi
http://<Alamat IP publik instance ECS>:8080/<Nama paket>untuk memeriksa apakah Anda dapat mengakses proyek tersebut.

Windows
Tutorial ini hanya berlaku untuk Jetty 12, Jetty 11, dan Jetty 10.
Dalam contoh ini, Jetty 12.0.16 diinstal. Jika Anda menginstal versi lain dari Jetty atau menggunakan direktori lain, ganti versi dan direktori dalam langkah-langkah berikut dengan versi dan direktori sebenarnya.
Sambungkan ke instance Windows Anda. Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Menyambung ke Instance Windows melalui RDP.
Unduh paket instalasi Jetty yang ingin Anda instal.
Versi Jetty yang berbeda mendukung versi JDK yang berbeda. Pilih versi Jetty yang sesuai berdasarkan versi JDK yang diinstal saat Anda menerapkan lingkungan Java. Untuk informasi lebih lanjut, kunjungi situs resmi Jetty.


Ekstrak paket instalasi Jetty yang diunduh.
Ekstrak paket instalasi yang diunduh ke direktori tempat Anda ingin menginstal Jetty. Dalam contoh ini, direktori
C:\downloaddigunakan.PentingAnda harus mengekstrak paket instalasi Jetty ke jalur yang tidak mengandung spasi.
Konfigurasikan variabel lingkungan
JETTY_HOME.Klik kanan This PC dan pilih Properties.

Di halaman About, gulir ke bawah hingga bagian bawah dan klik Advanced system settings.
Klik Environment Variables.

Di bagian System variables, klik New untuk membuat variabel sistem dan mengonfigurasi parameternya. Lalu, klik OK. Setel nama variabel ke
JETTY_HOMEdan nilai variabel ke direktori tempat Jetty diinstal, sepertiC:\download\jetty-home-12.0.16.
Klik OK untuk menyimpan pengaturan variabel lingkungan.
Buat folder
jetty-base. Dalam contoh ini, folder dibuat di direktoriC:\download.
Inisialisasi folder
jetty-base.Pergi ke folder
jetty-base, masukkancmddi bilah alamat, lalu tekan tombolEnteruntuk membuka command prompt.
Jalankan perintah berikut untuk menginisialisasi folder
jetty-base. Setelah perintah dijalankan, direktoristart.ddan direktori lain yang berisi informasi konfigurasi server dibuat.java -jar %JETTY_HOME%/start.jar --add-module=http,server,deploy
Verifikasi Jetty.
Jalankan perintah berikut untuk menerapkan aplikasi web sampel yang disediakan oleh Jetty.
Jika Anda menggunakan Jetty 10 atau 11, ganti
demosdalam perintah berikut dengandemo.CatatanAnda juga dapat mengunggah paket WAR proyek uji lokal ke direktori
<jetty-base>/webappsuntuk pengujian. Ganti<jetty-base>dengan jalur sebenarnya dari folderjetty-base, sepertiC:\download\jetty-base. Untuk informasi lebih lanjut, lihat Unggah atau Unduh File.java -jar %JETTY_HOME%/start.jar --add-module=demosJalankan perintah berikut untuk memulai Jetty. Jangan tutup jendela command prompt setelah Jetty dimulai.
CatatanSecara default, Jetty mendengarkan pada port 8080. Anda dapat menjalankan perintah
netstat -ano | findstr :8080untuk memeriksa apakah port tersebut sudah digunakan. Jika port sudah digunakan, Anda dapat menentukan port lain untuk menghapus konflik port saat Anda memulai Jetty. Misalnya, jalankan perintahjava -jar %JETTY_HOME%/start.jar jetty.http.port=8081untuk menentukan port untuk Jetty.java -jar %JETTY_HOME%/start.jarDi bilah alamat browser web pada perangkat lokal Anda, masukkan
http://<Alamat IP publik instance ECS>:8080. Jika halaman uji Jetty muncul, lingkungan web Java telah dikonfigurasi sesuai harapan.CatatanJika Anda mengubah nomor port Jetty, ganti 8080 dengan nomor port baru yang Anda tentukan dan konfirmasikan bahwa grup keamanan instance mengizinkan lalu lintas masuk pada port tersebut. Untuk informasi tentang cara menambahkan aturan grup keamanan, lihat Tambahkan Aturan Grup Keamanan.
Jika Anda mengunggah paket WAR proyek uji lokal, kunjungi
http://<Alamat IP publik instance ECS>:8080/<Nama paket>untuk memeriksa apakah Anda dapat mengakses proyek tersebut.

Apa yang Harus Dilakukan Selanjutnya
Setelah menerapkan lingkungan web Java pada instance ECS, Anda dapat mengonfigurasi situs web pada instance dan mengikat nama domain ke alamat IP publik instance. Untuk informasi lebih lanjut, lihat Bangun Situs Web.
Pilih alat pengembangan yang sesuai untuk mengembangkan aplikasi web. Jika aplikasi memerlukan database untuk menyimpan data aplikasi, tambahkan konfigurasi database ke file konfigurasi relevan dari proyek web yang sesuai, seperti file Properties, dan sambungkan ke database. Setelah pengembangan selesai, Anda dapat menerapkan aplikasi web Java ke Jetty, seperti ke direktori
$JETTY_BASE/webapps. Setelah aplikasi web Java diterapkan dan dimulai, Anda dapat mengakses aplikasi Anda melalui antarmuka web. Untuk informasi lebih lanjut tentang Jetty, kunjungi situs resmi Jetty.CatatanJika Anda menggunakan versi Jetty yang berbeda, ganti nomor versi dalam URL dengan nomor versi yang sesuai.
Anda dapat mengunggah file lokal ke instance ECS. Untuk informasi lebih lanjut, lihat Unggah File ke atau Unduh File dari Instance Linux.
Jika Anda ingin menggunakan database untuk menyimpan dan mengelola data aplikasi web, Anda dapat menggunakan instance ApsaraDB RDS for MySQL atau menerapkan database MySQL pada instance ECS. Untuk informasi lebih lanjut, lihat Ikhtisar Database.
Anda dapat menggunakan instance Server Load Balancer (SLB) untuk meningkatkan ketersediaan dan performa situs web Anda. Untuk informasi lebih lanjut, lihat Memulai.
FAQ
Apa yang harus saya lakukan jika saya tidak dapat mengakses http://<Alamat IP publik instance ECS>:8080 dari komputer lokal saya setelah saya menerapkan lingkungan web Java menggunakan Jetty pada instance ECS?
Setelah menerapkan lingkungan web Java pada instance ECS menggunakan Jetty, Anda tidak dapat mengakses http://<Alamat IP publik instance>:8080 dari browser web. Masalah ini mungkin terjadi karena penyebab berikut:
Penyebab 1:
Firewall sistem atau Security-Enhanced Linux (SELinux) diaktifkan pada instance dan aturan dikonfigurasi untuk memblokir akses eksternal. Akibatnya, Anda tidak dapat mengakses situs web Jetty. Anda dapat menggunakan solusi berikut untuk menyelesaikan masalah:
Jika instance Anda menjalankan sistem operasi Linux, pastikan bahwa firewall sistem dan SELinux dinonaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan atau Nonaktifkan Firewall Sistem pada Instance ECS Linux dan Aktifkan atau Nonaktifkan SELinux.
Jika instance Anda menjalankan sistem operasi Windows, pastikan bahwa firewall sistem dinonaktifkan. Untuk informasi lebih lanjut, lihat Kelola Firewall Sistem Instance Windows.
Penyebab 2:
Saat Anda memulai Jetty, Anda mengubah port mendengarkan Jetty. Anda dapat menggunakan solusi berikut untuk menyelesaikan masalah:
Ganti 8080 dalam
http://<Alamat IP publik instance ECS>:8080dengan nomor port yang Anda tentukan, dan periksa aturan grup keamanan instance untuk memastikan bahwa port tersebut diizinkan. Untuk informasi tentang cara menambahkan aturan grup keamanan, lihat Tambahkan Aturan Grup Keamanan.