Skip to content

サーバーの作成

Ktorアプリケーションを作成する前に、アプリケーションがどのように

デプロイされる
コード例: %example_name%
かを考慮する必要があります。

  • 自己完結型パッケージとして

    この場合、ネットワークリクエストを処理するために使用されるアプリケーション

    エンジン
    ネットワークリクエストを処理するエンジンについて学びます。
    は、アプリケーションの一部である必要があります。 アプリケーションは、エンジン設定、接続、およびSSLオプションを制御できます。

  • サーブレットとして

    この場合、Ktorアプリケーションは、アプリケーションのライフサイクルと接続設定を制御するサーブレットコンテナ(TomcatやJettyなど)内にデプロイできます。

自己完結型パッケージ

Ktorサーバーアプリケーションを自己完結型パッケージとして提供するには、まずサーバーを作成する必要があります。 サーバー設定には、さまざまな設定が含まれる場合があります。 サーバー

エンジン
ネットワークリクエストを処理するエンジンについて学びます。
(Netty、Jettyなど)、 さまざまなエンジン固有のオプション、ホストとポートの値などです。 Ktorでサーバーを作成および実行するには、主に2つのアプローチがあります。

  • embeddedServer関数は、 コードでサーバーパラメータを設定する 簡単な方法であり、アプリケーションを迅速に実行できます。

  • EngineMainは、サーバーを構成するためのより高い柔軟性を提供します。アプリケーションを 再コンパイルせずに、 ファイルでサーバーパラメータを指定する ことができ、設定を変更できます。さらに、コマンドラインからアプリケーションを実行し、 対応するコマンドライン引数を渡すことで、必要なサーバーパラメータをオーバーライドできます。

コードでの設定

embeddedServer関数は、

コード
コードでさまざまなサーバーパラメータを設定する方法を学びます。
でサーバーパラメータを設定し、アプリケーションを迅速に実行する簡単な方法です。以下のコードスニペットでは、サーバーを起動するためのパラメータとして
エンジン
ネットワークリクエストを処理するエンジンについて学びます。
とポートを受け取ります。以下の例では、 Nettyエンジンでサーバーを実行し、8080ポートでリッスンします。

kotlin

完全な例については、 embedded-server を参照してください。

ファイルでの設定

EngineMainは、選択されたエンジンでサーバーを起動し、resourcesディレクトリに配置された外部

設定ファイル
設定ファイルでさまざまなサーバーパラメータを設定する方法を学びます。
application.confまたはapplication.yaml)で指定された
アプリケーションモジュール
モジュールは、ルーティングをグループ化することでアプリケーションを構造化できます。
をロードします。 ロードするモジュールに加えて、設定ファイルにはさまざまなサーバーパラメータ(以下の例では 8080ポート)を含めることができます。

kotlin
yaml

完全な例については、 engine-main および engine-main-yaml を参照してください。

サーブレット

Ktorアプリケーションは、TomcatやJettyを含むサーブレットコンテナ内で実行およびデプロイできます。 サーブレットコンテナ内にデプロイするには、

WAR
WARアーカイブを使用して、Ktorアプリケーションをサーブレットコンテナ内で実行およびデプロイする方法を学びます。
アーカイブを生成し、それをWARをサポートするサーバーまたはクラウドサービスにデプロイする必要があります。