Jetty は100% Java で開発された軽量なサーブレットコンテナ/Webサーバーです。 Windows 環境でサービスとして動作するようにした Jetty の派生バージョンが Jetty for Windows です。

ダウンロード

デモ・アプリの実行

Jetty の配布物に同梱されているデモ・アプリを実行してみましょう。

デモ・アプリは demo-base フォルダに格納されています。このフォルダを ${jetty.base} として指定すると、デモ・アプリを配備することができます。 Jetty の配布物を C:\jetty に展開した場合、以下のようにしてデモ・アプリを実行します。

C:\jetty\jetty.exe jetty.base=demo-base

これでデモ・アプリを配備した Jetty が起動します。標準構成のままなら http://localhost:8080/ にアクセスすることで Jetty が動作していることを確認することができます。

examples … の下に並んでいるリンクをクリックするといくつかのデモを試すことができます。

WebSocket を使ったチャット・アプリなどもあります。

Jetty を停止するときは Ctrl+C を入力します。

${jetty.home} と ${jetty.base}

Jetty 9.1 以降では Jetty バイナリや標準モジュールを格納する ${jetty.home}と、ユーザーのアプリケーションおよびカスタマイズを格納する ${jetty.base} を分離できるようになりました。自分のアプリケーション(WAR)を追加する場合は jetty\webapps に直接配備するのではなく、 myapp-base\webapps のような独自のフォルダを作成して myapp-base${jetty.base} に指定するのが良いと思います。

インストール・使い方

Jetty for Windows のインストールはとても簡単です。以下の説明では Jetty が C:\jetty に展開されていることを前提としています。 Jetty を展開しているディレクトリが異なる場合は、適宜、読み替えてください。

通常のコンソールプロセスとして実行する

まずは jetty.exe が正しく動作することを確認するために通常のコンソールプロセスとして実行してみましょう。 Jetty をインストールしているディレクトリに移動して次のコマンドを入力します。

C:\jetty>jetty.exe

これで Jetty を起動することができます。標準構成のままなら http://localhost:8080/ にアクセスすることで Jetty が動作していることを確認することができます。 Jettyを停止するときは Ctrl+C を入力します。

サービスとしてインストールする

jetty.exe をサービスとしてインストールするために次のコマンドを入力します。

C:\jetty>jetty.exe -install
jetty サービスをインストールしました。

これでサービスのインストールは完了です。 コントロール パネル管理ツールサービス に、jetty という名前のサービスが表示されます。既定のインストールでは、サービスのログオン(実行アカウント)は ローカル システム アカウント に、スタートアップの種類は 自動 になります。サービス構成オプションを指定することで異なる構成でサービスをインストールすることもできます。詳細についてはサービス構成オプションを参照してください。

${jetty.base} などのパラメーターを指定する場合は、コマンドライン引数 -install よりも後に記述してください。たとえば、デモ・アプリ demo-base をサービスとして配備する場合には以下のようにします。

C:\jetty>jetty.exe -install jetty.base=demo-base
jetty サービスをインストールしました。

サービスを開始する

インストールした jetty サービスを開始するために次のコマンドを入力します。

C:\>net start jetty
jetty サービスは正常に開始されました。

net start コマンドを使う方法の他に コントロール パネル管理ツールサービス から jetty を選択して開始することもできます。また、既定のインストールではスタートアップの種類が 自動 になっているため、コンピューターの起動時に jetty サービスが自動で開始されます。

サービスの開始には管理者権限が必要です。「アクセスが拒否されました。」と表示される場合は、コマンドプロンプトが管理者権限で実行されているか確認してください。

サービスを停止する

開始状態の jetty サービスを停止するために次のコマンドを入力します。

C:\>net stop jetty
jetty サービスを停止中です.
jetty サービスは正常に停止されました。

net stop コマンドを使う方法の他に コントロール パネル管理ツールサービス から jetty を選択して停止することもできます。

サービスをアンインストールする

停止状態の jetty サービスをアンインストールするために次のコマンドを入力します。

C:\jetty>jetty.exe -remove
jetty サービスを削除しました。

サービス構成オプション (インストール時)

インストール時のサービス構成オプションは、jetty.exe をサービスとしてインストールするときに指定することができます。インストール時のサービス構成オプションは -install よりも前に指定する必要があります。 -install よりも後に指定した引数は、サービスの実行時引数として渡されます。

たとえば、スタートアップの種類を 手動 にしてサービスをインストールする場合は以下のようにします。

C:\>jetty.exe -m -install
サービス構成オプション 説明
-install サービスとしてインストールします。他の構成オプションは、必ず-install よりも前に指定してください。
-n <display-name> サービスの表示名を指定します。既定のサービス表示名は jetty です。
-i デスクトップとの対話をサービスに許可します。
-m スタートアップの種類を 手動 にします。このオプションを指定しない場合、スタートアップの種類は 自動 になります。
-d <dependencies> サービスの依存関係を指定します。たとえばサービスがイベントログサービスを必要としている場合は、-d Eventlog としてイベントログサービスに依存させます。複数のサービスに依存する場合は、サービス名をセミコロン ; で区切ります。
-u <username> サービスの実行アカウントを指定します。通常のユーザーアカウントのほかにビルトイン・システムアカウントとして、NT AUTHORITY\SystemNT AUTHORITY\LocalServiceNT AUTHORITY\NetworkService が指定できます。
-p <password> サービス実行アカウントのパスワードを指定します。ビルトイン・システムアカウントを使用する場合は、パスワードを指定する必要はありません。
-s サービスをインストールした後に、ただちにサービスを開始します。

サービス構成オプション (アンインストール時)

アンインストール時のサービス構成オプションは、jetty サービスをアンインストールするときに指定することができます。アンインストール時のサービス構成オプションは -remove よりも前に指定する必要があります。

サービスを停止してからアンインストールする場合は以下のようにします。

C:\>jetty.exe -s -remove
サービス構成オプション 説明
-remove サービスをアンインストールします。他の構成オプション -s は、必ず-remove よりも前に指定してください。
-s サービスをアンインストールする前に、サービスを停止します。