VPS पर Kotlin एप्लिकेशन को डिप्लॉय करना: पूर्ण चरण-दर-चरण मार्गदर्शिका
Kotlin में डेवलपमेंट केवल आधा काम है। देर-सबेर यह सवाल उठता है: एप्लिकेशन को लोकल एनवायरनमेंट से रियल सर्वर पर कैसे स्थानांतरित किया जाए? इस लेख में, हम VPS पर Kotlin एप्लिकेशन (Spring Boot के उदाहरण के साथ) को डिप्लॉय करने की विस्तृत प्रक्रिया पर चर्चा करेंगे। आप सीखेंगे कि सर्वर कैसे तैयार करें, JAR फ़ाइल कैसे बनाएं, ऑटोस्टार्ट कैसे सेट करें और HTTPS के माध्यम से सुरक्षित कनेक्शन कैसे सुनिश्चित करें। यह मार्गदर्शिका शुरुआती और उन डेवलपर्स दोनों के लिए उपयुक्त है जो अपने ज्ञान को व्यवस्थित करना चाहते हैं।
1. VPS तैयार करना और आवश्यक सॉफ़्टवेयर इंस्टॉल करना
कोड अपलोड करने से पहले, सर्वर तैयार करना होगा। हम Ubuntu 22.04 LTS या उससे नए वर्जन का उपयोग करने की सलाह देते हैं। SSH के माध्यम से सर्वर से कनेक्ट करें:
ssh root@आपका-सर्वर-आईपीपैकेज बेस को अपडेट करें और Java इंस्टॉल करें (Kotlin JVM बाइट-कोड में कंपाइल होता है, इसलिए हमें JDK 17 या 21 चाहिए):
sudo apt update && sudo apt upgrade -ysudo apt install openjdk-17-jdk -yjava -versionसुनिश्चित करें कि Java का वर्जन आपके बिल्ड से मेल खाता है। साथ ही, Git (यदि रिपॉजिटरी का उपयोग कर रहे हैं) और आर्काइव के साथ काम करने के लिए उपयोगिताएँ इंस्टॉल करें:
sudo apt install git unzip curl -yसर्वर पर Kotlin प्रोजेक्ट के साथ काम करने के लिए Kotlin कंपाइलर इंस्टॉल करना आवश्यक नहीं है — हम बिल्ड लोकली या CI/CD के माध्यम से करेंगे। हालाँकि, यदि आप सर्वर पर कंपाइल करने की योजना बना रहे हैं, तो SDKMAN! और Kotlin जोड़ें:
curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk install kotlinमहत्वपूर्ण: इस चरण पर, बुनियादी सुरक्षा के लिए फ़ायरवॉल (UFW) भी कॉन्फ़िगर करें:
sudo ufw allow OpenSSHsudo ufw allow 8080/tcp # एप्लिकेशन पोर्टsudo ufw enable2. Kotlin एप्लिकेशन बनाना और सर्वर पर स्थानांतरित करना
Spring Boot के साथ Kotlin के एक सामान्य प्रोजेक्ट पर विचार करें। JAR फ़ाइल का बिल्ड लोकली (या सर्वर पर, यदि रिपॉजिटरी क्लोन किया है) करें। प्रोजेक्ट की रूट डायरेक्टरी में निम्नलिखित चलाएँ:
./gradlew clean bootJarया, यदि Maven का उपयोग कर रहे हैं:
mvn clean packageबिल्ड के बाद, build/libs/ (Gradle) या target/ (Maven) फ़ोल्डर में app-0.0.1-SNAPSHOT.jar जैसी फ़ाइल दिखाई देगी। इसे SCP का उपयोग करके सर्वर पर कॉपी करें:
scp build/libs/app-0.0.1-SNAPSHOT.jar root@आपका-आईपी:/opt/myapp/app.jarसर्वर पर एप्लिकेशन के लिए एक डायरेक्टरी बनाएँ और JAR को वहाँ ले जाएँ:
sudo mkdir -p /opt/myappsudo mv app.jar /opt/myapp/जाँच करें कि JAR मैन्युअल रूप से चल रहा है या नहीं:
cd /opt/myappjava -jar app.jar --server.port=8080यदि एप्लिकेशन चालू होता है और पोर्ट 8080 पर रिस्पॉन्स करता है — सब कुछ ठीक है। इसे रोकें (Ctrl+C) और स्थायी रूप से चलाने की सेटिंग पर जाएँ।
3. ऑटोस्टार्ट और मॉनिटरिंग के लिए systemd सेट करना
एप्लिकेशन को सर्वर रीबूट होने पर स्वचालित रूप से शुरू होने और क्रैश के बाद पुनर्स्थापित होने के लिए, एक systemd सर्विस बनाएँ। फ़ाइल बनाएँ:
sudo nano /etc/systemd/system/kotlin-app.serviceनिम्नलिखित टेम्पलेट डालें (अपने एप्लिकेशन के अनुसार पैरामीटर बदलें):
[Unit]Description=Kotlin Spring Boot ApplicationAfter=network.target
[Service]Type=simpleUser=rootWorkingDirectory=/opt/myappExecStart=/usr/bin/java -jar /opt/myapp/app.jar --server.port=8080Restart=on-failureRestartSec=10StandardOutput=journalStandardError=journal
[Install]WantedBy=multi-user.targetsystemd कॉन्फ़िगरेशन को रीलोड करें और सर्विस शुरू करें:
sudo systemctl daemon-reloadsudo systemctl start kotlin-appsudo systemctl status kotlin-appयदि स्थिति active (running) है — सब कुछ काम कर रहा है। सर्विस को ऑटोस्टार्ट में जोड़ें:
sudo systemctl enable kotlin-app
```