建立伺服器
程式碼範例: embedded-server, engine-main, engine-main-yaml
在建立 Ktor 應用程式之前,您需要考量您的應用程式將如何
部署
: Code example: %example_name%
作為 獨立套件
在此情況下,用於處理網路請求的應用程式
引擎應該是您應用程式的一部分。 您的應用程式可控制引擎設定、連線和 SSL 選項。Learn about engines that process network requests.作為 Servlet
在此情況下,Ktor 應用程式可以部署在 Servlet 容器中(例如 Tomcat 或 Jetty), 該容器控制應用程式生命週期和連線設定。
獨立套件
若要將 Ktor 伺服器應用程式作為獨立套件交付,您需要先建立一個伺服器。 伺服器配置可包含不同的設定:一個伺服器
引擎
(例如 Netty、Jetty 等)、 各種引擎特定選項、主機和埠值等。 Ktor 中有兩種主要方法用於建立和執行伺服器: Learn about engines that process network requests.
embeddedServer
函數是一種簡單的方式,可以在 程式碼中配置伺服器參數 並快速執行應用程式。EngineMain
為配置伺服器提供了更大的靈活性。您可以 在檔案中指定伺服器參數 ,並在不重新編譯應用程式的情況下更改配置。此外,您可以從命令列執行應用程式,並透過傳遞相應的命令列引數來覆寫所需的伺服器參數。
在程式碼中配置
embeddedServer
函數是一種簡單的方式,可以在
程式碼
中配置伺服器參數並快速執行應用程式。在下面的程式碼片段中,它接受一個 Learn how to configure various server parameters in code.
引擎
和埠作為參數來啟動伺服器。在下面的範例中,我們使用 Learn about engines that process network requests.
Netty
引擎運行伺服器並監聽 8080
埠: kotlin
有關完整範例,請參閱 embedded-server 。
在檔案中配置
EngineMain
使用選定的引擎啟動伺服器,並載入外部
配置檔案
中指定的應用程式Learn how to configure various server parameters in a configuration file.
模組
, 該檔案位於 resources 目錄中: application.conf 或 application.yaml 。 除了要載入的模組之外,配置檔案還可以包含各種伺服器參數(例如下面範例中的 Modules allow you to structure your application by grouping routes.
8080
埠)。 kotlin
yaml
有關完整範例,請參閱 engine-main 和 engine-main-yaml 。
Servlet
Ktor 應用程式可以在包含 Tomcat 和 Jetty 的 Servlet 容器中運行和部署。 若要部署到 Servlet 容器中,您需要產生一個
WAR
歸檔檔,然後將其部署到支援 WAR 檔的伺服器或雲服務上。 Learn how to run and deploy a Ktor application inside a servlet container using a WAR archive.