Kotlin应用部署:从VPS到云端无痛指南

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

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

开始课程

您的Kotlin代码在本地运行良好。接下来呢?



您用Kotlin编写了一个很棒的应用程序。它在您的笔记本电脑上完美运行,测试通过,端点响应迅速。但真正的魔力只有在应用程序上线——部署到真实服务器,让用户看到它时,才会开始。



部署Kotlin应用程序不仅仅是“把jar文件扔到服务器上”。这是一门完整的科学,包括选择基础设施、配置环境、确保安全性和容错性。在本文中,我们将分析三种最流行的方法:经典的VPS、现代的Docker和灵活的云平台。您将了解如何在每种方案上部署Kotlin应用程序,获得现成的代码示例,并明白哪种路径更适合您的项目。



准备工作:部署Kotlin前需要了解什么



在我们深入细节之前,让我们确保我们具备基础知识。要部署Kotlin应用程序,您需要:



  • 构建好的工件——通常是JAR文件(用于Spring Boot、Ktor)或WAR文件(用于旧的Java EE项目)。Kotlin编译为JVM字节码,因此所有标准的Java工具都能很好地工作。
  • Java运行时环境(JRE)——至少版本11,最好使用17或21。Kotlin积极使用新版本Java的特性。
  • 构建系统——Gradle或Maven。我们将使用Gradle,因为它实际上是Kotlin项目的标准。


构建Kotlin应用程序的最简单命令示例:



./gradlew clean build


执行后,在build/libs/文件夹中会出现一个JAR文件,准备运行。



在VPS上部署Kotlin:行之有效的经典方法



虚拟专用服务器(VPS)就像您自己的公寓。您对环境拥有完全控制权,但也要承担所有清理和安全责任。这种方法非常适合小型项目、初创公司,或者当您需要最大灵活性时。



选择VPS并配置服务器



对于Kotlin应用程序,任何带有Linux(Ubuntu 22.04 LTS 是一个很好的选择)的VPS都适用。最低要求:1-2 GB RAM,20-30 GB SSD。我们推荐支持良好的提供商:DigitalOcean、Vultr、Hetzner或Timeweb(适用于俄罗斯用户)。



购买服务器后,首先要更新包并安装Java:



sudo apt update && sudo apt upgrade -ysudo apt install openjdk-17-jre-headless -yjava -version


现在,创建一个用于运行应用程序的普通用户(切勿以root身份运行!):



sudo useradd -m -s /bin/bash kotlinappsudo passwd kotlinapp


在VPS上运行Kotlin应用程序



通过SCP或SFTP将JAR文件复制到服务器:



scp build/libs/myapp-1.0.0.jar kotlinapp@您的服务器:/home/kotlinapp/app.jar


现在运行应用程序。为简单起见,我们使用nohup,以便在关闭SSH时进程不会终止:



nohup java -jar /home/kotlinapp/app.jar --server.port=8080 &


但这只是第一步。在实际生产环境中,您需要:

  • Systemd服务——用于在崩溃后和服务器启动时自动重启应用程序。
  • Nginx——作为反向代理,用于HTTPS、负载均衡和静态文件服务。
  • 监控——至少是简单的日志记录和正常运行时间检查。


Kotlin应用程序的systemd服务示例(/etc/systemd/system/kotlinapp.service):



[Unit]Description=Kotlin ApplicationAfter=network.target

[Service]User=kotlinappWorkingDirectory=/home/kotlinappExecStart=/usr/bin/java -jar /home/kotlinapp/app.jar --server.port=8080Restart=alwaysRestartSec=10

[Install]WantedBy=multi-user.targe

博客

书籍推荐