创建服务器
创建服务器
在创建 Ktor 应用之前,您需要考虑应用将如何
:作为自包含包
在此情况下,用于处理网络请求的应用
引擎应该是应用的一部分。您的应用可以控制引擎设置、连接和 SSL 选项。了解处理网络请求的引擎。作为 servlet
在此情况下,Ktor 应用可以部署在 servlet 容器(如 Tomcat 或 Jetty)中,容器负责控制应用的生命周期和连接设置。
自包含包
要将 Ktor 服务器应用作为自包含包交付,您首先需要创建一个服务器。服务器配置可以包含不同的设置:服务器
引擎
(如 Netty、Jetty 等)、各种特定于引擎的选项、主机和端口值等。在 Ktor 中,创建和运行服务器有两种主要方法: 了解处理网络请求的引擎。
embeddedServer函数是在代码中配置服务器参数并快速运行应用的简单方法。EngineMain提供了更灵活的服务器配置方式。您可以在文件中指定服务器参数,并在无需重新编译应用的情况下更改配置。此外,您可以从命令行运行应用,并通过传递相应的命令行实参来覆盖所需的服务器参数。
在代码中配置
embeddedServer函数是在
代码
中配置服务器参数并快速运行应用的简单方法。在下面的代码片段中,它接受了解如何在代码中配置各种服务器参数。
引擎和端口作为形参来启动服务器。在以下示例中,我们使用Netty引擎运行服务器并侦听8080端口: kotlin
有关完整示例,请参阅embedded-server。
在文件中配置
EngineMain启动带有选定引擎的服务器,并从外部
配置文件
(通常是位于了解如何在配置文件中配置各种服务器参数。
resource目录中的application.conf或application.yaml)中加载应用模块
。 模块允许您通过对路由进行分组来构建应用结构。
除了指定要加载的模块外,配置文件还可以包含各种服务器参数,例如端口、主机和 SSL 设置。例如,下面的配置将服务器端口设置为8080。
kotlin
yaml
有关完整示例,请参阅engine-main和engine-main-yaml。
Servlet
Ktor 应用可以在包含 Tomcat 和 Jetty 在内的 servlet 容器中运行和部署。要部署在 servlet 容器中,您需要生成
WAR
归档文件,然后将其部署到支持 WAR 的服务器或云服务中。 了解如何使用 WAR 归档文件在 servlet 容器中运行和部署 Ktor 应用。
