Jetty web server adalah server HTTP berbasis java dan wadah servlet. Server web umumnya digunakan untuk menyajikan konten statis ke klien. Saat ini Jetty digunakan untuk komunikasi server ke server, dalam kerangka kerja yang besar.
Jetty dikembangkan di bawah lisensi open source oleh Eclipse foundation. Ini digunakan dalam beberapa produk aktif seperti Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache Spark dan juga dalam proyek terbuka seperti Hadoop, Eucalyptus, dan Red5.
Jetty mendukung Java Servlet API terbaru serta protokol SPDY dan WebSocket.
Panduan ini akan membantu Anda menginstal Jetty di CentOS 7 / RHEL 7.
Prasyarat
Instal file unduhan paket wget di terminal.
yum -y install wget
Instal Java 8
Jetty membutuhkan Java 8. Anda dapat menginstal Oracle Java 8 atau OpenJDK 8. Di sini, saya akan menggunakan OpenJDK 8.
yum -y install java-1.8.0-openjdk
Verifikasi versi Java menggunakan perintah di bawah ini.
java -version
Keluaran:
openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-b04) OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
Unduh dan Instal Server Web Jetty
Unduh versi terbaru server web Jetty.
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.17.v20190418/jetty-distribution-9.4.17.v20190418.tar.gz
Ekstrak file arsip yang diunduh ke /opt.
tar -zxvf jetty-distribution-9.4.17.v20190418.tar.gz
Pindahkan direktori Jetty ke /opt atau ke direktori yang Anda inginkan.
mv jetty-distribution-9.4.17.v20190418 /opt/jetty
Mengonfigurasi Server Web Jett
Buat pengguna bernama jetty untuk menjalankan server web jetty pada sistem start-up.
useradd -m jetty
Ubah kepemilikan direktori Jetty.
chown -R jetty:jetty /opt/jetty/
Buat dan ubah kepemilikan Jetty PID.
mkdir /var/run/jetty chown -R jetty:jetty /var/run/jetty
Server web dermaga dilengkapi dengan skrip init. Tautkan jetty.sh ke direktori /etc/init.d untuk mengelola layanan Jetty dengan mudah.
ln -s /opt/jetty/bin/jetty.sh /etc/init.d/jetty
Tambahkan server web Jetty ke startup.
chkconfig --add jetty
Buat Pangkalan Dermaga
Buat direktori dasar untuk menerapkan aplikasi web Anda.
mkdir /opt/jetty/my_base/
Aktifkan konektor HTTP dan penerapan aplikasi web.
cd /opt/jetty/my_base/ java -jar /opt/jetty/start.jar --add-to-start=http,deploy
Izinkan pengguna untuk menulis file di pangkalan Jetty.
chown -R jetty:jetty /opt/jetty/my_base/
Mulai Server Web Jetty
Tetapkan nilai default di file /etc/default/jetty.
vi /etc/default/jetty
Ganti port dan alamat mendengarkan yang sesuai.
JETTY_HOME=/opt/jetty JETTY_BASE=/opt/jetty/my_base JETTY_USER=jetty JETTY_PORT=8080 JETTY_HOST=192.168.1.10
Sekarang mulai layanan dermaga.
service jetty start
Keluaran:
Starting Jetty: StartLog to /var/run/jetty/jetty-start.log 2019-04-27 16:32:22.663:INFO::main: Logging initialized @1331ms to org.eclipse.jetty.util.log.StdErrLog 2019-04-27 16:32:23.228:INFO:oejs.Server:main: jetty-9.4.17.v20190418; built: 2019-04-18T19:45:35.259Z; git: aa1c656c315c011c01e7b21aabb04066635b9f67; jvm 1.8.0_212-b04 2019-04-27 16:32:23.260:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///opt/jetty/my_base/webapps/] at interval 1 2019-04-27 16:32:23.312:INFO:oejs.AbstractConnector:main: Started ServerConnector@59ec2012{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} 2019-04-27 16:32:23.313:INFO:oejs.Server:main: Started @1981ms OK Sat Apr 27 16:32:25 EDT 2019
Firewall
Tambahkan aturan firewall untuk mengizinkan server web Jetty melayani permintaan web yang datang dari mesin eksternal.
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Mengakses Server Web Jetty
Anda dapat mengakses Jetty dengan membuka URL di bawah ini.
http://your-ip-addr-ess:8080Menerapkan Aplikasi Web
Menyebarkan aplikasi di Jetty sangat mudah. Yang harus Anda lakukan hanyalah menyalin file .war ke direktori webapps di basis Jett Anda.
Salin contoh aplikasi dari /opt/jetty/demo-base/webapps. Untuk demo ini, saya akan menyalin async-rest.war ke direktori webapps dasar kami.
cp /opt/jetty/demo-base/webapps/async-rest.war /opt/jetty/my_base/webapps/
Setelah Anda menyalin, Anda akan melihat pesan di terminal seperti di bawah ini.
2019-04-27 16:34:40.219:WARN::Scanner-0: async-rest webapp is deployed. DO NOT USE IN PRODUCTION! 2019-04-27 16:34:40.240:INFO:oejw.StandardDescriptorProcessor:Scanner-0: NO JSP Support for /async-rest, did not find org.eclipse.jetty.jsp.JettyJspServlet 2019-04-27 16:34:40.269:INFO:oejs.session:Scanner-0: DefaultSessionIdManager workerName=node0 2019-04-27 16:34:40.269:INFO:oejs.session:Scanner-0: No SessionScavenger set, using defaults 2019-04-27 16:34:40.270:INFO:oejs.session:Scanner-0: node0 Scavenging every 660000ms 2019-04-27 16:34:40.367:INFO:oejsh.ContextHandler:Scanner-0: Started o.e.j.w.WebAppContext@11c8b2b{Async REST Webservice Example,/async-rest,[file:///tmp/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-2277232371361906309.dir/webapp/, jar:file:///tmp/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-2277232371361906309.dir/webapp/WEB-INF/lib/example-async-rest-jar-9.4.17.v20190418.jar!/META-INF/resources],AVAILABLE}{/async-rest.war}
Anda dapat memeriksa aplikasi web yang diterapkan dengan membuka URL di bawah ini.
http://your-ip-addr-ess:8080/async-rest/Kesimpulan
Dalam tutorial ini, Anda telah mempelajari cara menginstal server web Jetty di CentOS 7 dan menerapkan contoh aplikasi web. Anda dapat mengunjungi halaman dokumentasi Jetty untuk informasi lebih lanjut.