Jetty9コンテナーのインストールと使用

1. Jetty9の概要

これを書いている時点で、Jettyは9に達しています。小さく、高速で、埋め込み可能なWebサーバーおよびサーブレットコンテナーとして、Jettyは、開発および生産のさまざまなプロジェクトおよび製品で広く使用されています。Jettyは、デバイス、ツール、フレームワーク、アプリケーションサーバー、クラスターに簡単に組み込むことができます。Jettyは、Webサーバーとjavax.servletコンテナー関数を提供し、HTTP / 2、WebSocket、OSGi、JMX、JNDI、JAAS、および他の多くの統合をサポートしています。次の表は、Jettyとそれがサポートするいくつかの領域の特性です。

Jettyの機能 桟橋サポート
完全な機能と標準化 Yahoo Hadoopクラスターなどの大規模クラスター
オープンソースと商用 Google AppEngineなどのクラウドコンピューティング
柔軟でスケーラブル Yahoo!などのSaaS そしてジンブラ
小さなソフトウェア Apache Geronimoなどのアプリケーションサーバー
埋め込み可能 GWTなどのフレームワーク
非同期 EclipseIDEなどのツール
企業のスケーラビリティ 電話などの機器

Jetty Webサーバーは、独立した、または埋め込まれたJettyインスタンスから静的および動的コンテンツを提供できるHTTPサーバーとサーブレットコンテナーを提供します。Jetty Webサーバーは次のサポートを提供します。

  • 非同期HTTPサーバー
  • 標準ベースのサーブレットコンテナ
  • WebSocketサーバー
  • http / 2サーバー
  • 非同期クライアント(http / 1.1、http / 2、websocket)
  • OSGI、JNDI、JMX、JASPI、AJP等

2. Jettyの使い方

2.1。プラグインとしてJettyを使用する

このメソッドは、埋め込まれたJettyの形式でJettyを使用します!

ステップ1:Jettyプラグインをpom.xmlに追加します。

<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>9.4.27.v20200227</version>
</plugin>

手順2:プロジェクトのルートディレクトリで次のコマンドを実行してプロジェクトを実行する

mvn jetty:run

デフォルトでは、Jetty Webコンテナのデフォルトポートは8080です。ブラウザに次のURLを入力してアクセスします。

http://localhost:8080/路径

2.2。Jettyコンテナーをインストールして使用する

2.2.1。Jettyをダウンロードする

jetty-distribution-9.4.27.v20200227.tar.gzをダウンロード

2.2.2。解凍

tar -zxvf jetty-distribution-9.4.27.v20200227.tar.gz

抽出されたディレクトリは、Jettyのインストールディレクトリです。

2.2.3 Jettyの構成

  • Jettyインストールディレクトリに移動してbin / jetty.shファイルを編集し、JETTY_HOMEおよびJAVA_OPTIONSのコメントを開きます。

Jettyインストールパス

JETTY_HOME=/home/kyun/Documents/jetty-distribution-9.4.27.v20200227

JVMを構成する

JAVA_OPTIONS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n -server -Xmx2048m -Xms2048m -Xmn1024m -Xss256k -XX:PermSize=128m -XX:MaxPermSize=128m"

(1)デバッグコードを有効にするように構成された、デバッグポート9999:-Xdebug -Xrunjdwp:トランス= dt_socketという、アドレス= 9999、Y =サーバー、= N-サスペンド
メモリスタートJVM桟橋容器に設けられ(2): - Xmx2048m -Xms2048m -Xmn1024m -Xss256k -XX:PermSize = 128m -XX:MaxPermSize = 128m

  • jettyポートを設定し、Jettyインストールディレクトリを入力して、etc / jetty-http.xmlファイルを変更します。
<Set name="port"><Property name="jetty.http.port" deprecated="jetty.port" default="8888" /></Set>
  • サーバーのタイムアウトを設定し、Jettyのインストールディレクトリを入力してetc / jetty.xmlファイルを変更します。
<Set name="stopTimeout"><Property name="jetty.server.stopTimeout" default="5000"/></Set>
  • ディレクトリアクセスを閉じる(ディレクトリトラバーサルを閉じ、ディレクトリ内のファイル表示を閉じる)
  1. jettyルートディレクトリで/etc/webdefault.xmlを検索します

  2. デフォルトでdirAllowedオプションを見つける

    <init-param>
      <param-name>dirAllowed</param-name>
      <param-value>true</param-value>
    </init-param>

実際には、上記の構成は機能していないようです。代わりに、カスタムコンテキストは/であり、ディレクトリの参照を閉じることができます。「Jetty9複数のプロジェクトのデプロイと仮想ホストの設定方法」を参照してください

  • Jettyインストールディレクトリ/などのファイルは、jetty-customrequestlog.xml、jetty-requestlog.xml、jetty-debuglog.xmlなどのJetty構成ファイルであり、ログパスなどのjettyログを設定するために使用されます。

3.プロジェクトをJettyにデプロイします

パッケージ化されたwarパッケージをwebappsディレクトリにコピーします。たとえば、FlowerShop.warパッケージをwebappsディレクトリに配置します。

4.突堤の開始/停止

Jettyのインストールディレクトリにあるbin / jetty.shスクリプトを使用して、次のようにjettyを開始/停止します。

bin$ ./jetty.sh start
bin$ ./jetty.sh stop
bin$ ./jetty.sh restart

次のように、Jettyのルートディレクトリにあるstart.jarから起動することもできます。

$ java -jar start.jar

start.jarで停止する場合は、起動時に2つのパラメーターSTOP.PORTおよびSTOP.KEYを指定する必要があります。また、起動時と停止時の2つのパラメーターの値は、次のように一致している必要があります。

# 启动
$ java -jar start.jar STOP.PORT=8181 STOP.KEY=ugcKey
# 停止
$ java -jar start.jar STOP.PORT=8181 STOP.KEY=ugcKey --stop

start.jarを通じてヘルプと設定を表示します。

$ java -jar start.jar --help

構成を表示するための主なパラメーターは次のとおりです。

--list-config: 查看启动jetty使用的配置:java环境,jetty环境,JVM参数,属性,服务器classpath,服务器的xml配置等;--list-modules: 查看系统使用的模块--list-classpath: 查看系统使用的classpath--version:查看版本信息--module=<model-name>:临时启用一个模块

通常、bin / jetty.shを使用して突堤の操作を制御し、start.jarを使用して突堤の構成とステータスを確認します。

5.ウェブを閲覧する

ブラウザーを起動した後、ブラウザーに次のように入力できhttp://localhost:8888/war包名(即上下文路径)/路径ます
ここに画像の説明を挿入。http ://127.0.0.1:8888/FlowerShop/home1 Jettyが正常にインストールされました。

詳細については、
「SpringBootプロジェクトパッケージWarがJetty9にリリースされました」、「Jetty9の複数プロジェクトのデプロイメントと仮想ホスト構成方法」を参照してください

381の元の記事を公開 85を賞賛 80,000ビュー+

おすすめ

転載: blog.csdn.net/weixin_40763897/article/details/105490345