VPS पर Kotlin एप्लिकेशन का डिप्लॉयमेंट: चरण-दर-चरण मार्गदर्शिका
Kotlin में डेवलपमेंट केवल आधा काम है। आपके एप्लिकेशन को उपयोगकर्ताओं के लिए उपलब्ध कराने के लिए, इसे सर्वर पर डिप्लॉय करना आवश्यक है। इस मार्गदर्शिका में, हम VPS (Virtual Private Server) पर Kotlin (JVM) एप्लिकेशन डिप्लॉय करने की प्रक्रिया पर विस्तार से चर्चा करेंगे। आप सीखेंगे कि सर्वर कैसे तैयार करें, एप्लिकेशन कैसे बनाएं, ऑटोस्टार्ट कैसे सेट करें और सुरक्षित HTTPS कनेक्शन कैसे सुनिश्चित करें। यह लेख Kotlin और Linux की मूल बातों से परिचित डेवलपर्स के लिए है।
1. सर्वर और वातावरण की तैयारी
कोड अपलोड करने से पहले, VPS तैयार करना आवश्यक है। हम Ubuntu 22.04 LTS का उपयोग करेंगे। SSH के माध्यम से सर्वर से कनेक्ट करें:
ssh root@आपका-सर्वर-आईपीपैकेज अपडेट करें और आवश्यक घटक स्थापित करें:
sudo apt update && sudo apt upgrade -ysudo apt install openjdk-17-jdk git nginx certbot python3-certbot-nginx -yJava का वर्जन जांचें:
java -versionअब एप्लिकेशन के लिए एक उपयोगकर्ता बनाएं (रूट से प्रक्रियाएं चलाना असुरक्षित है):
sudo useradd -m -s /bin/bash kotlinappsudo usermod -aG sudo kotlinappsu - kotlinappसुनिश्चित करें कि उपयोगकर्ता Java चला सकता है।
2. Kotlin एप्लिकेशन का बिल्ड और अपलोड
दो लोकप्रिय फ्रेमवर्क पर विचार करें: Ktor और Spring Boot। दोनों एक निष्पादन योग्य JAR फ़ाइल में बनते हैं। Ktor के लिए उदाहरण:
// build.gradle.kts (अंश)plugins { kotlin("jvm") version "1.9.22" application id("io.ktor.plugin") version "2.3.7"}
application { mainClass.set("com.example.ApplicationKt")}
ktor { fatJar { archiveFileName.set("myapp.jar") }}स्थानीय रूप से fat JAR बनाएं:
./gradlew buildFatJarSCP के माध्यम से JAR को सर्वर पर अपलोड करें (स्थानीय मशीन पर निष्पादित करें):
scp build/libs/myapp.jar kotlinapp@आपका-आईपी:/home/kotlinapp/app/सर्वर पर संरचना बनाएं:
mkdir -p /home/kotlinapp/app/logs3. ऑटोस्टार्ट के लिए systemd सेटअप
एप्लिकेशन को सर्वर स्टार्ट होने पर स्वचालित रूप से शुरू करने और विफलता पर पुनरारंभ करने के लिए, एक systemd सेवा बनाएं। फ़ाइल बनाएं /etc/systemd/system/kotlinapp.service:
sudo nano /etc/systemd/system/kotlinapp.serviceनिम्नलिखित कॉन्फ़िगरेशन डालें:
[Unit]Description=Kotlin एप्लिकेशन सेवाAfter=network.target
[Service]User=kotlinappGroup=kotlinappWorkingDirectory=/home/kotlinapp/appExecStart=/usr/bin/java -jar myapp.jarRestart=alwaysRestartSec=10StandardOutput=append:/home/kotlinapp/app/logs/out.logStandardError=append:/home/kotlinapp/app/logs/err.logEnvironment="PORT=8080"
[Install]WantedBy=multi-user.targetसेवा को सक्षम और प्रारंभ करें:
sudo systemctl daemon-reloadsudo systemctl enable kotlinappsudo systemctl start kotlinappस्थिति जांचें:
sudo systemctl status kotlinappलॉग को कमांड से देखा जा सकता है:
journalctl -u kotlinapp -f4. Nginx और HTTPS (SSL) सेटअप
प्रॉक्सी सर्वर Nginx 80/443 पोर्ट से आपके Kotlin एप्लिकेशन के 8080 पोर्ट पर अनुरोधों को अग्रेषित करेगा। कॉन्फ़िगरेशन बनाएं:
sudo nano /etc/nginx/sites-available/kotlinappकॉन्फ़िगरेशन का उदाहरण:
server { listen 80; server_name yourdomain.com www.yourdomain.com;
location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}साइट को सक्रिय करें और SSL प्रमाणपत्र प्राप्त करें:
sudo ln -s /etc/ngin