すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Jetty による Java Web 環境のデプロイ

最終更新日:Aug 21, 2026

ECS インスタンスに Jetty をインストールおよび設定し、軽量サーブレットコンテナーで Java Web アプリケーションをホストします。

前提条件

お使いの ECS インスタンスは、次の条件を満たしている必要があります。

  • インスタンスには、静的パブリック IP アドレスまたは Elastic IP アドレス (EIP) があります。

  • セキュリティグループは、ポート 22、3389、8080 など、リモート接続および Jetty のポートでのインバウンドアクセスを許可する必要があります。 詳細については、セキュリティグループルールの追加をご参照ください。

  • インスタンスには Java 環境がデプロイされています。 詳細については、Java 環境のデプロイをご参照ください。

手順

お使いの ECS インスタンスのオペレーティングシステムに基づいて手順を選択します。

Linux

このトピックでは、Jetty 12.0.16 を例として使用します。 異なるバージョンまたはディレクトリを使用する場合は、バージョン番号とパスを適宜置き換えてください。

  1. Linux サーバーにログインします。 詳細については、Workbench を使用した Linux インスタンスへのログインをご参照ください。

  2. Jetty 12 のインストールパッケージをダウンロードして解凍します。

    重要
    • 異なるバージョンをインストールする場合、またはダウンロードリンクが無効な場合は、Jetty の公式サイトにアクセスして正しいダウンロードリンクを取得し、URL を置き換えてください。

    • Jetty のバージョンによってサポートされる JDK のバージョンは異なります。 Jetty の公式サイトで、お使いの JDK と互換性のある Jetty のバージョンを選択してください。

      image

    wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.16/jetty-home-12.0.16.tar.gz --no-check-certificate
    tar -zxvf jetty-home-12.0.16.tar.gz
  3. Jetty ディレクトリを移動します。

    sudo mv jetty-home-12.0.16 /usr/local/jetty/
  4. jetty-base ディレクトリを作成します。

    sudo mkdir /usr/local/jetty-base
  5. 環境変数を設定します。

    1. ~/.bashrc ファイルを編集します。

      sudo vim ~/.bashrc
    2. i を押して編集モードに入り、ファイルに次の内容を追加します。

      説明

      JETTY_HOME を実際の Jetty インストールディレクトリに、JETTY_BASE を jetty-base ディレクトリに設定します。

      export JETTY_HOME=/usr/local/jetty
      export JETTY_BASE=/usr/local/jetty-base
    3. Esc を押し、:wq と入力して Enter を押し、ファイルを保存して閉じます。

    4. 変更を適用します。

      source ~/.bashrc
  6. Jetty モジュールを有効にし、jetty-base ディレクトリを初期化します。

    1. jetty-base ディレクトリに移動します。

      cd /usr/local/jetty-base
    2. jetty-base ディレクトリを初期化します。 これにより、$JETTY_BASE/start.d/ ディレクトリと、サーバー設定を含む他のディレクトリが作成されます。

      説明
      • 利用可能なモジュールを表示するには、java -jar $JETTY_HOME/start.jar --list-modules=* コマンドを実行します。

      • Jetty 9 を使用する場合は、--add-module を --add-to-start に置き換えます。

      sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploy
      [test@jxxx            jetty-base]$ sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploy
      INFO : mkdir ${jetty.base}/start.d
      INFO : webapp          transitively enabled, ini template available with --add-module=webapp
      INFO : server          initialized in ${jetty.base}/start.d/server.ini
      INFO : logging-jetty   transitively enabled
      INFO : security        transitively enabled
      INFO : servlet         transitively enabled
      INFO : resources       transitively enabled
      INFO : http            initialized in ${jetty.base}/start.d/http.ini
      INFO : threadpool      transitively enabled, ini template available with --add-module=threadpool
      INFO : logging/slf4j   transitive provider of logging/slf4j for logging-jetty
      INFO : logging/slf4j   dynamic dependency of logging-jetty
      INFO : bytebufferpool  transitively enabled, ini template available with --add-module=bytebufferpool
      INFO : deploy          initialized in ${jetty.base}/start.d/deploy.ini
      INFO : mkdir ${jetty.base}/resources
      INFO : copy ${jetty.home}/modules/logging/jetty/resources/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties
      INFO : mkdir ${jetty.base}/webapps
      INFO : Base directory was modified
  7. デプロイを検証します。

    重要

    jetty-base ディレクトリで次のコマンドを実行します。

    1. Jetty のサンプル Web アプリケーションをデプロイします。

      • Jetty 11 または 10 を使用する場合は、次のコマンドの demos を demo に置き換えます。

      • Jetty 9 を使用する場合は、sudo mv $JETTY_HOME/demo-base/webapps/ROOT $JETTY_BASE/webapps コマンドを実行してサンプルをデプロイします。

      説明

      テスト用にローカルの WAR パッケージを $JETTY_BASE/webapps ディレクトリにアップロードすることもできます。 詳細については、ファイルのアップロードまたはダウンロードをご参照ください。

      sudo java -jar $JETTY_HOME/start.jar --add-module=demos
    2. Jetty を起動します。

      説明

      デフォルトでは、Jetty はポート 8080 でリッスンします。 sudo netstat -tunlp | grep 8080 を実行して、ポートが使用中かどうかを確認します。 使用中の場合は、nohup sudo java -jar $JETTY_HOME/start.jar jetty.http.port=8081 & のように別のポートを指定します。

      nohup sudo java -jar $JETTY_HOME/start.jar &
    3. ブラウザで http://<パブリック IP アドレス>:8080 と入力します。 テストページが表示されれば、デプロイは成功です。

      説明
      • Jetty のポートを変更した場合は、8080 を新しいポート番号に置き換え、セキュリティグループで新しいポートを許可してください。 詳細については、セキュリティグループルールの追加をご参照ください。

      • ローカルの WAR パッケージをアップロードした場合は、http://<パブリック IP アドレス>:8080/<パッケージ名> にアクセスしてテストします。

Windows

重要

このセクションは、Jetty 12、Jetty 11、および Jetty 10 にのみ適用されます。

このトピックでは、Jetty 12.0.16 を例として使用します。 異なるバージョンまたはディレクトリを使用する場合は、バージョン番号とパスを適宜置き換えてください。

  1. Windows サーバーにログインします。 詳細については、Workbench を使用した Windows インスタンスへのログインをご参照ください。

  2. Jetty をダウンロードします。

    Jetty のバージョンによってサポートされる JDK のバージョンは異なります。 Jetty の公式サイトで、お使いの JDK と互換性のあるバージョンを選択し、インストールパッケージをダウンロードしてください。

    image

  3. Jetty パッケージを解凍します。

    パッケージを任意の場所に解凍します。 このトピックでは、C:\download を例として使用します。

    重要

    Jetty はスペースを含まないパスに解凍してください。

  4. JETTY_HOME 環境変数を設定します。

    1. [PC] を右クリックし、[プロパティ] を選択します。

    2. [バージョン情報] ページで、一番下までスクロールし、[システムの詳細設定] をクリックします。

    3. [環境変数] をクリックします。

    4. [システム環境変数] セクションで、[新規] をクリックします。 変数名を JETTY_HOME に、値を Jetty のインストールディレクトリ (例:C:\download\jetty-home-12.0.16) に設定します。 [OK] をクリックします。

    5. [OK] をクリックして設定を保存します。

  5. jetty-base フォルダーを作成します。 このトピックでは、C:\download を例として使用します。

  6. jetty-base フォルダーを初期化します。

    1. jetty-base フォルダーに移動し、アドレスバーに cmd と入力して Enter を押し、コマンドプロンプトを開きます。

    2. jetty-base フォルダーを初期化します。 これにより、start.d ディレクトリと、サーバー設定を含む他のディレクトリが作成されます。

      java -jar %JETTY_HOME%/start.jar --add-module=http,server,deploy
      C:\download\jetty-base>java -jar %JETTY_HOME%/start.jar --add-module=http,server,deploy
      INFO  : mkdir ${jetty.base}\start.d
      INFO  : server            initialized in ${jetty.base}\start.d\server.ini
      INFO  : logging-jetty     transitively enabled
      INFO  : http              initialized in ${jetty.base}\start.d\http.ini
      INFO  : resources         transitively enabled
      INFO  : threadpool        transitively enabled, ini template available with --add-modules=threadpool
      INFO  : logging/slf4j     transitive provider of logging/slf4j for logging-jetty
      INFO  : logging/slf4j     dynamic dependency of logging-jetty
      INFO  : bytebufferpool    transitively enabled, ini template available with --add-modules=bytebufferpool
      INFO  : deploy            initialized in ${jetty.base}\start.d\deploy.ini
      INFO  : mkdir ${jetty.base}\resources
      INFO  : copy ${jetty.home}\modules\logging\jetty\resources\jetty-logging.properties to ${jetty.base}\resources\jetty-logging.properties
      INFO  : mkdir ${jetty.base}\webapps
      INFO  : Base directory was modified
  7. デプロイを検証します。

    1. Jetty のサンプル Web アプリケーションをデプロイします。

      Jetty 11 または 10 を使用する場合は、次のコマンドで demos を demo に置き換えます。

      説明

      テスト用にローカルの WAR パッケージを <jetty-base>/webapps ディレクトリにアップロードすることもできます。 <jetty-base> は、jetty-base フォルダーへのパスです (例:C:\download\jetty-base)。 詳細については、ファイルのアップロードまたはダウンロードをご参照ください。

      java -jar %JETTY_HOME%/start.jar --add-module=demos
    2. Jetty を起動します。 Jetty の起動後、コマンドプロンプトウィンドウは閉じないでください。

      説明

      デフォルトでは、Jetty はポート 8080 でリッスンします。 netstat -ano | findstr :8080 を実行して、ポートが使用中かどうかを確認します。 使用中の場合は、java -jar %JETTY_HOME%/start.jar jetty.http.port=8081 のように別のポートを指定します。

      java -jar %JETTY_HOME%/start.jar
    3. ブラウザで http://<パブリック IP アドレス>:8080 と入力します。 テストページが表示されれば、デプロイは成功です。

      説明
      • Jetty のポートを変更した場合は、8080 を新しいポート番号に置き換え、セキュリティグループで新しいポートを許可してください。 詳細については、セキュリティグループルールの追加をご参照ください。

      • ローカルの WAR パッケージをアップロードした場合は、http://<パブリック IP アドレス>:8080/<パッケージ名> にアクセスしてテストします。

次のステップ

  • サーバー上で Web サイトを設定し、ドメイン名をインスタンスのパブリック IP アドレスに関連付けます。 詳細については、Web サイトの構築をご参照ください。

    アプリケーションでデータベースが必要な場合、プロパティファイルなどの Web プロジェクトの設定ファイルにデータベース設定を追加します。 開発後、WAR パッケージを $JETTY_BASE/webapps ディレクトリにデプロイし、Jetty を起動してアプリケーションにアクセスします。 詳細については、Jetty の公式サイトをご参照ください。

    説明

    異なる Jetty バージョンを使用する場合は、URL のバージョン番号を置き換えてください。

    ローカルファイルを ECS インスタンスにアップロードする方法については、ファイルのアップロードまたはダウンロード (Linux) をご参照ください。

    データベースを使用するには、ApsaraDB RDS for MySQL を使用するか、インスタンスに MySQL データベースをデプロイします。

  • Server Load Balancer (SLB) を使用して、Web サイトの可用性とパフォーマンスを向上させます。

よくある質問

デプロイ後、ローカルブラウザから http://<パブリック IP アドレス>:8080 にアクセスできない

Jetty をデプロイした後、ブラウザから http://<パブリック IP アドレス>:8080 にアクセスできない場合があります。 考えられる原因は次のとおりです:

  • 原因 1:ファイアウォールまたは SELinux によるアクセスのブロック

    システムのファイアウォールまたは SELinux が外部からのアクセスをブロックしている可能性があります。 解決策は次のとおりです:

  • 原因 2:Jetty ポートのカスタマイズ

    起動時に Jetty のポートを変更しました。

    http://<パブリック IP アドレス>:8080 の 8080 を新しいポート番号に置き換え、セキュリティグループで新しいポートを許可してください。