Ktor部署到云服务器
本文最后更新于:2023年1月26日 晚上
Ktor部署到云服务器(Linux)
部署 Ktor 项目有很多种方式,包括 war、jar 或是打包在 Docker 容器内。 jar 是一种 Java 档案文件,可以将类文件打包成一个单一可运行的文件。 生成 jar 文件后,就可以通过 java -jar *.jar 的方式将程序运行起来。
前提
打包为Jar
参考:Creating fat JARs using the Ktor Gradle plugin | Ktor
To build a fat JAR, you need to configure the Ktor plugin first:
在打包为fat Jar
之前,你需要先配置Ktor plugin
打开
build.gradle.kts
,在plugins中添加插件:plugins { id("io.ktor.plugin") version "2.2.2" }
确保
application
中填入main方法所在类名:application { mainClass.set("com.example.ApplicationKt") // main方法所在类名 }
可选项,配置打包后的文件名称 :
ktor { fatJar { archiveFileName.set("fat.jar") } }
点击
Gradle
同步项目,找到buildFatJar并双击构建Jar包:打包好的文件在
build/libs
:
上传Jar包并运行
服务器配置和Jar包上传参考部署 Ktor 应用至云服务器 | The JetBrains Blog
服务器安装JDK,版本与项目版本一致
yum install java-11-openjdk-devel
上传打包好的Jar包,运行Jar包,输出日志
msg.log
nohup java -jar ktor-sample-all.jar >msg.log 2>&1 &
查看日志或者访问Api测试,可以直接关闭shell后台运行
停止项目
查找进程:
ps -ef|grep java
输出:
root 26847 1 0 16:55 ? 00:00:12 java -jar ktor-sample-all.jar
找到进程ID:26847,杀死进程:
kill -9 26847
参考:
Creating fat JARs using the Ktor Gradle plugin | Ktor