Jetty Webサーバーは、JavaベースのHTTPサーバーおよびサーブレットコンテナです。 Webサーバーは通常、静的コンテンツをクライアントに提供するために使用されます。現在、Jettyは、大規模なフレームワーク内でのサーバー間の通信に使用されています。
Jettyは、EclipseFoundationによってオープンソースライセンスの下で開発されています。 Apache ActiveMQ、Alfresco、Apache Geronimo、Apache Maven、Apache Sparkなどの複数のアクティブな製品や、Hadoop、Eucalyptus、Red5などのオープンプロジェクトで使用されています。
Jettyは、最新のJavaサーブレットAPIと、プロトコルSPDYおよびWebSocketをサポートしています。
このガイドは、CentOS 7 /RHEL7にJettyをインストールするのに役立ちます。
前提条件
wgetパッケージのダウンロードファイルをターミナルにインストールします。
yum -y install wget
Java8をインストールする
JettyにはJava8が必要です。OracleJava8またはOpenJDK8をインストールできます。ここでは、OpenJDK8を使用します。
yum -y install java-1.8.0-openjdk
以下のコマンドを使用して、Javaのバージョンを確認してください。
java -version
出力:
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)
JettyWebサーバーのダウンロードとインストール
JettyWebサーバーの最新バージョンをダウンロードします。
wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.17.v20190418/jetty-distribution-9.4.17.v20190418.tar.gz
ダウンロードしたアーカイブファイルを/optに解凍します。
tar -zxvf jetty-distribution-9.4.17.v20190418.tar.gz
Jettyディレクトリを/optまたは希望のディレクトリに移動します。
mv jetty-distribution-9.4.17.v20190418 /opt/jetty
JettWebサーバーの構成
システムの起動時にjettyWebサーバーを実行するためにjettyというユーザーを作成します。
useradd -m jetty
Jettyディレクトリの所有権を変更します。
chown -R jetty:jetty /opt/jetty/
JettyPIDの所有権を作成および変更します。
mkdir /var/run/jetty chown -R jetty:jetty /var/run/jetty
JettyWebサーバーにはinitスクリプトが付属しています。 jetty.shを/etc/init.dディレクトリにシンボリックリンクして、Jettyサービスを簡単に管理します。
ln -s /opt/jetty/bin/jetty.sh /etc/init.d/jetty
JettyWebサーバーをスタートアップに追加します。
chkconfig --add jetty
突堤基地の作成
Webアプリケーションをデプロイするためのベースディレクトリを作成します。
mkdir /opt/jetty/my_base/
HTTPコネクタとWebアプリケーションデプロイヤを有効にします。
cd /opt/jetty/my_base/ java -jar /opt/jetty/start.jar --add-to-start=http,deploy
ユーザーがJettyベースにファイルを書き込めるようにします。
chown -R jetty:jetty /opt/jetty/my_base/
JettyWebサーバーを起動します
/ etc / default/jettyファイルにデフォルト値を設定します。
vi /etc/default/jetty
それに応じてポートとリスニングアドレスを交換してください。
JETTY_HOME=/opt/jetty JETTY_BASE=/opt/jetty/my_base JETTY_USER=jetty JETTY_PORT=8080 JETTY_HOST=192.168.1.10
桟橋サービスを開始します。
service jetty start
出力:
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
ファイアウォール
ファイアウォールルールを追加して、JettyWebサーバーが外部マシンからのWeb要求を処理できるようにします。
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
JettyWebサーバーへのアクセス
以下のURLにアクセスすると、Jettyにアクセスできます。
http:// your-ip-addr-ess:8080Webアプリケーションのデプロイ
Jettyへのアプリケーションのデプロイは非常に簡単です。 .warファイルをJettベースのwebappsディレクトリにコピーするだけです。
サンプルアプリケーションを/opt/ jetty / demo-base/webappsからコピーします。このデモでは、async-rest.warをベースのwebappsディレクトリにコピーします。
cp /opt/jetty/demo-base/webapps/async-rest.war /opt/jetty/my_base/webapps/
コピーすると、ターミナルに次のようなメッセージが表示されます。
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}
以下のURLにアクセスすると、デプロイされたWebアプリケーションを確認できます。
http:// your-ip-addr-ess:8080 / async-rest /結論
このチュートリアルでは、CentOS7にJettyWebサーバーをインストールし、サンプルWebアプリケーションをデプロイする方法を学習しました。詳細については、Jettyのドキュメントページにアクセスしてください。