Webový server Jetty je HTTP server a kontejner servletů založený na Java. Webové servery se obecně používají pro poskytování statického obsahu klientovi. V současné době se Jetty používá pro komunikaci server-server v rámci velkých rámců.
Jetty je vyvíjen pod licencí open source nadací Eclipse. Používá se v mnoha aktivních produktech, jako jsou Apache ActiveMQ, Alfresco, Apache Geronimo, Apache Maven, Apache Spark a také v otevřených projektech, jako jsou Hadoop, Eucalyptus a Red5.
Jetty podporuje nejnovější Java Servlet API a také protokoly SPDY a WebSocket.
Tato příručka vám pomůže nainstalovat Jetty na CentOS 7 / RHEL 7.
Předpoklady
Nainstalujte soubory ke stažení balíčku wget do terminálu.
yum -y install wget
Nainstalujte Java 8
Jetty vyžaduje Java 8. Můžete nainstalovat Oracle Java 8 nebo OpenJDK 8. Zde budu používat OpenJDK 8.
yum -y install java-1.8.0-openjdk
Ověřte verzi Java pomocí níže uvedeného příkazu.
java -version
Výstup:
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)
Stáhnout a nainstalovat Jetty Web Server
Stáhněte si nejnovější verzi webového serveru Jetty.
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.17.v20190418/jetty-distribution-9.4.17.v20190418.tar.gz
Rozbalte stažený archivní soubor do /opt.
tar -zxvf jetty-distribution-9.4.17.v20190418.tar.gz
Přesuňte adresář Jetty do /opt nebo do adresáře podle vašeho přání.
mv jetty-distribution-9.4.17.v20190418 /opt/jetty
Konfigurace webového serveru Jett
Vytvořte uživatele s názvem jetty pro spuštění webového serveru jetty při startu systému.
useradd -m jetty
Změňte vlastnictví adresáře Jetty.
chown -R jetty:jetty /opt/jetty/
Vytvořte a změňte vlastnictví Jetty PID.
mkdir /var/run/jetty chown -R jetty:jetty /var/run/jetty
Webový server Jetty je dodáván se skriptem init. Sympropojte jetty.sh s adresářem /etc/init.d, abyste mohli snadno spravovat službu Jetty.
ln -s /opt/jetty/bin/jetty.sh /etc/init.d/jetty
Přidejte webový server Jetty do spuštění.
chkconfig --add jetty
Vytvořit základnu mola
Vytvořte základní adresář pro nasazení webových aplikací.
mkdir /opt/jetty/my_base/
Povolte konektor HTTP a implementátor webové aplikace.
cd /opt/jetty/my_base/ java -jar /opt/jetty/start.jar --add-to-start=http,deploy
Umožněte uživateli zapisovat soubory do základny Jetty.
chown -R jetty:jetty /opt/jetty/my_base/
Spustit Jetty Web Server
Nastavte výchozí hodnoty v souboru /etc/default/jetty.
vi /etc/default/jetty
Podle toho nahraďte port a naslouchací adresu.
JETTY_HOME=/opt/jetty JETTY_BASE=/opt/jetty/my_base JETTY_USER=jetty JETTY_PORT=8080 JETTY_HOST=192.168.1.10
Nyní spusťte službu mola.
service jetty start
Výstup:
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
Přidejte pravidlo brány firewall, které umožní webovému serveru Jetty obsluhovat webové požadavky přicházející z externích počítačů.
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Přístup k webovému serveru Jetty
K Jetty se dostanete na níže uvedené adrese URL.
http://your-ip-addr-ess:8080Nasazení webové aplikace
Nasazení aplikací v Jetty je velmi snadné. Jediné, co musíte udělat, je zkopírovat soubor .war do adresáře webapps vaší základny Jett.
Zkopírujte ukázkové aplikace z /opt/jetty/demo-base/webapps. Pro tuto ukázku zkopíruji async-rest.war do našeho základního adresáře webových aplikací.
cp /opt/jetty/demo-base/webapps/async-rest.war /opt/jetty/my_base/webapps/
Po zkopírování uvidíte zprávu v terminálu něco jako níže.
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}
Nasazenou webovou aplikaci můžete zkontrolovat na níže uvedené adrese URL.
http://your-ip-addr-ess:8080/async-rest/Závěr
V tomto tutoriálu jste se naučili, jak nainstalovat webový server Jetty na CentOS 7 a nasadit ukázkovou webovou aplikaci. Další informace naleznete na stránce dokumentace Jetty.