在VPS上部署Kotlin应用程序:从A到Z的分步指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言:为什么部署Kotlin应用程序需要特殊方法

\n

用Kotlin开发只是成功的一半。另一半是在远程服务器上正确部署您的应用程序。没有这一步,您的代码将只是一个本地项目,用户无法访问。

\n

在本指南中,我们将介绍在VPS(虚拟专用服务器)上部署Kotlin应用程序的完整流程。您将学习如何将项目构建为可执行的JAR文件、配置服务器环境、将应用程序作为服务运行,并确保其稳定运行。本文面向已具备Kotlin和Linux基础知识的开发者。

\n\n

1. 项目准备与JAR文件构建

\n

在将代码上传到服务器之前,需要将应用程序构建为单一工件。对于使用Spring Boot或Ktor编写的Kotlin项目,标准格式是JAR文件(Java Archive)。

\n\n

1.1. 配置build.gradle.kts

\n

确保您的build.gradle.kts文件中包含用于构建可执行JAR的插件。对于Spring Boot,配置如下:

\n
plugins {\n    kotlin("jvm") version "1.9.22"\n    id("org.springframework.boot") version "3.2.2"\n    id("io.spring.dependency-management") version "1.1.4"\n}\n\ndependencies {\n    implementation("org.springframework.boot:spring-boot-starter-web")\n    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")\n}\n
\n

对于纯Ktor(不使用Spring),请使用application插件:

\n
plugins {\n    kotlin("jvm") version "1.9.22"\n    application\n}\n\napplication {\n    mainClass.set("com.example.ApplicationKt")\n}\n
\n\n

1.2. 构建项目

\n

在项目的根文件夹中执行构建命令:

\n
./gradlew clean build
\n

构建成功后,在build/libs/目录下会生成app-0.0.1-SNAPSHOT.jar文件(名称取决于配置)。将其复制到您的本地计算机。

\n
重要提示: 对于Ktor应用程序,请确保src/main/resources/application.conf文件中指定了正确的端口(通常为8080)和运行模式。
\n\n

2. 配置VPS服务器

\n

部署需要一个安装了Ubuntu 22.04 LTS操作系统的VPS。假设您已拥有SSH访问权限和超级用户(sudo)权限。

\n\n

2.1. 安装Java(JRE)

\n

Kotlin编译为JVM字节码,因此服务器上必须安装Java Runtime Environment(JRE)17或更高版本:

\n
sudo apt update\nsudo apt install openjdk-17-jre -y\njava -version
\n\n

2.2. 为应用程序创建用户

\n

出于安全考虑,不建议以root身份运行应用程序。我们将创建一个单独的用户:

\n
sudo useradd -m -s /bin/bash kotlinapp\nsudo passwd kotlinapp
\n\n

2.3. 将JAR文件上传到服务器

\n

使用SCP将文件从本地计算机复制到VPS:

\n
scp build/libs/app-0.0.1-SNAPSHOT.jar kotlinapp@your-server-ip:/home/kotlinapp/app.jar
\n\n

3. 启动应用程序并配置Systemd

\n

为了确保应用程序在系统启动时自动运行,并且在SSH连接断开时不会崩溃,我们将将其配置为Systemd服务。

\n\n

3.1. 手动启动(用于测试)

\n

以kotlinapp用户身份连接到服务器并执行:

\n
cd /home/kotlinapp\njava -jar app.jar
\n

如果应用程序启动并在8080端口响应,则进入下一步。停止进程(Ctrl+C)。

\n\n

3.2. 创建Systemd Unit文件

\n

创建服务文件:

\n
sudo nano /etc/systemd/system/kotlin-app.service
\n

粘贴以下内容:

\n
[Unit]\nDescription=Kotlin Application Service\nAfter=net                

博客

书籍推荐