Jetty JAVA http Server installeren op Debian 10
Jetty is een vrije en open-source Java HTTP server die in verschillende projecten kan worden gebruikt, zowel in ontwikkeling als in productie. Jetty heeft een kleine voetafdruk, is embeddable, full-featured en ondersteunt SPDY, WebSocket, OSGi, JNDI, JAAS en vele andere integraties. Jetty wordt gebruikt in meerdere actieve producten zoals Alfresco, Apache ActiveMQ, Apache Spark, Apache Maven, Red5 en Hadoop.
In deze handleiding laten we je zien hoe je Jetty op Debian 10 kunt installeren.
Vereisten
- Een server met Debian 10.
- Een root wachtwoord is op je server ingesteld.
Aan de slag
Eerst is het aan te raden je systeem met de nieuwste versie te updaten. Je kunt dat doen door het volgende commando uit te voeren:
apt-get update -y apt-get upgrade -y
Als je systeem geüpdatet is, herstart je je systeem om de configuratie veranderingen toe te passen.
Installeer Java
Jetty is een op Java gebaseerde toepassing. Je zult dus Java op je systeem moeten installeren. Standaard is de nieuwste versie van Java beschikbaar in de standaard repository van Debian 10. Je kunt het installeren door gewoon het volgende commando uit te voeren:
apt-get install default-jdk -y
Als de installatie voltooid is, kun je de Java versie controleren met het volgende commando:
java --version
Je zou de volgende uitvoer moeten krijgen:
openjdk 11.0.3 2019-04-16 OpenJDK Runtime Environment (build 11.0.3+7-post-Debian-5) OpenJDK 64-Bit Server VM (build 11.0.3+7-post-Debian-5, mixed mode, sharing)
Installeer Jetty
Jetty is standaard beschikbaar in de Debian 10 standaard repository. Je kunt het installeren door gewoon het volgende commando uit te voeren:
apt-get install jetty9 -y
Eenmaal geïnstalleerd, controleer je de Jetty versie met het volgende commando:
apt show jetty9
Je zou de volgende uitvoer moeten zien:
Package: jetty9 Version: 9.4.15-1 Priority: optional Section: java Maintainer: Debian Java Maintainers <pkg-java[email protected]> Installed-Size: 757 kB
Start vervolgens de Jetty dienst en zet hem aan om te starten na systeem herstart met het volgende commando:
systemctl start jetty9 systemctl enable jetty9
Je kunt ook de Jetty status controleren met het volgende commando:
systemctl status jetty9
Je zou de volgende uitvoer moeten krijgen:
? jetty9.service - Jetty 9 Web Application Server Loaded: loaded (/lib/systemd/system/jetty9.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-09-28 02:47:55 EDT; 1min 11s ago Docs: https://www.eclipse.org/jetty/documentation/current/ Main PID: 1658 (java) Tasks: 24 (limit: 1138) Memory: 69.9M CGroup: /system.slice/jetty9.service ??1658 /usr/bin/java -Djetty.home=/usr/share/jetty9 -Djetty.base=/usr/share/jetty9 -Djava.io.tmpdir=/tmp -jar /usr/share/jetty9/star Sep 28 02:48:12 debian jetty9[1658]: 2019-09-28 02:48:12.492:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///var/lib/jetty9/we Sep 28 02:48:14 debian jetty9[1658]: 2019-09-28 02:48:14.079:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=16ms Sep 28 02:48:14 debian jetty9[1658]: 2019-09-28 02:48:14.602:INFO:oejshC.root:main: Warning: No org.apache.tomcat.JarScanner set in ServletCont Sep 28 02:48:15 debian jetty9[1658]: 2019-09-28 02:48:15.796:INFO:oajs.TldScanner:main: At least one JAR was scanned for TLDs yet contained no Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.312:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0 Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.315:INFO:oejs.session:main: No SessionScavenger set, using defaults Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.318:INFO:oejs.session:main: node0 Scavenging every 600000ms Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.587:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@2f4948e4{root,/,file Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.836:INFO:oejs.AbstractConnector:main: Started ServerConnector@18419dc8{HTTP/1.1,[http/ Sep 28 02:48:16 debian jetty9[1658]: 2019-09-28 02:48:16.843:INFO:oejs.Server:main: Started @21109ms lines 1-20/20 (END)
Configureer Nginx als een Reverse Proxy voor Jetty
Standaard draait Jetty op poort 8080. Je zult dus Nginx als een omgekeerde proxy moeten instellen om het verzoek van de poort 80 naar 8080 door te sturen.
Om dat te doen installeer je eerst Nginx webserver met het volgende commando:
apt-get install nginx -y
Maak vervolgens een nieuw virtual host configuratiebestand voor Jetty met het volgende commando:
nano /etc/nginx/sites-available/jetty.conf
Voeg de volgende regels toe:
upstream jetty { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name example.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_pass http://jetty/; } }
Sla het bestand op en sluit het als je klaar bent. Controleer Nginx dan op een eventuele syntaxfout met het volgende commando:
nginx -t
Je zou de volgende uitvoer moeten zien:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Schakel vervolgens de Nginx virtuele host in en herstart Nginx service om de nieuwe configuratie toe te passen:
ln -s /etc/nginx/sites-available/jetty.conf /etc/nginx/sites-enabled/ systemctl restart nginx
Toegang tot Jetty Web Interface
Open nu je web browser en typ de URL http://example.com. Je wordt doorgestuurd naar het Jetty standaard dashboard in het volgende scherm:
Gefeliciteerd! Je hebt Jetty met succes geïnstalleerd en geconfigureerd met Nginx op Debian 10. Je kunt nu gemakkelijk je Java toepassing met Jetty implementeren.