आपका Kotlin कोड स्थानीय रूप से काम करता है। आगे क्या?
\n\nआपने Kotlin में एक शानदार एप्लिकेशन लिखा है। यह आपके लैपटॉप पर पूरी तरह से काम करता है, टेस्ट पास हो जाते हैं, एंडपॉइंट तुरंत जवाब देते हैं। लेकिन असली जादू तब शुरू होता है जब एप्लिकेशन वास्तविक दुनिया में आता है - एक वास्तविक सर्वर पर, जहां उपयोगकर्ता इसे देख सकते हैं।
\n\nKotlin एप्लिकेशन का डिप्लॉय सिर्फ "सर्वर पर jar-फ़ाइल डालना" नहीं है। यह एक पूरा विज्ञान है जिसमें बुनियादी ढांचे का चयन, वातावरण का कॉन्फ़िगरेशन, सुरक्षा और विफलता-सहिष्णुता सुनिश्चित करना शामिल है। इस लेख में, हम तीन सबसे लोकप्रिय दृष्टिकोणों पर चर्चा करेंगे: क्लासिक VPS, आधुनिक Docker और लचीले क्लाउड प्लेटफॉर्म। आप सीखेंगे कि इनमें से प्रत्येक विकल्प पर Kotlin एप्लिकेशन कैसे डिप्लॉय करें, तैयार कोड उदाहरण प्राप्त करें और समझें कि आपके प्रोजेक्ट के लिए कौन सा रास्ता चुनना बेहतर है।
\n\nतैयारी: डिप्लॉय Kotlin से पहले क्या जानना चाहिए
\n\nविवरण में जाने से पहले, आइए सुनिश्चित करें कि हमारे पास आधार है। Kotlin एप्लिकेशन डिप्लॉय करने के लिए आपको आवश्यकता होगी:
\n\n- \n
- बिल्ट आर्टिफैक्ट - आमतौर पर यह JAR-फ़ाइल (Spring Boot, Ktor के लिए) या WAR-फ़ाइल (पुराने Java EE प्रोजेक्ट्स के लिए) होती है। Kotlin JVM बाइट-कोड में कंपाइल होता है, इसलिए सभी मानक Java टूल बढ़िया काम करते हैं। \n
- Java Runtime Environment (JRE) - कम से कम संस्करण 11, और बेहतर होगा 17 या 21। Kotlin नए Java संस्करणों की सुविधाओं का सक्रिय रूप से उपयोग करता है। \n
- बिल्ड सिस्टम - Gradle या Maven। हम Gradle का उपयोग करेंगे, क्योंकि यह Kotlin प्रोजेक्ट्स के लिए डी-फैक्टो मानक है। \n
Kotlin एप्लिकेशन बनाने के लिए सबसे सरल कमांड का उदाहरण:
\n\n./gradlew clean build\n\nनिष्पादन के बाद, build/libs/ फ़ोल्डर में एक JAR-फ़ाइल दिखाई देगी, जो चलाने के लिए तैयार है।
VPS पर Kotlin डिप्लॉय: क्लासिक जो काम करता है
\n\nवर्चुअल प्राइवेट सर्वर (VPS) आपके अपने अपार्टमेंट जैसा है। आपको वातावरण पर पूर्ण नियंत्रण मिलता है, लेकिन सफाई और सुरक्षा की सारी जिम्मेदारी भी आप पर ही आती है। यह दृष्टिकोण छोटे प्रोजेक्ट्स, स्टार्टअप्स या जब आपको अधिकतम लचीलेपन की आवश्यकता हो, के लिए आदर्श है।
\n\nVPS चुनना और सर्वर सेटअप करना
\n\nKotlin एप्लिकेशन के लिए Linux (Ubuntu 22.04 LTS - एक बढ़िया विकल्प) वाला कोई भी VPS उपयुक्त है। न्यूनतम आवश्यकताएं: 1-2 GB RAM, 20-30 GB SSD। हम अच्छे समर्थन वाले प्रदाताओं की सलाह देते हैं: DigitalOcean, Vultr, Hetzner या Timeweb (रूसी उपयोगकर्ताओं के लिए)।
\n\nसर्वर खरीदने के बाद, सबसे पहले पैकेज अपडेट करें और Java इंस्टॉल करें:
\n\nsudo apt update && sudo apt upgrade -y\nsudo apt install openjdk-17-jre-headless -y\njava -version\n\nअब एप्लिकेशन चलाने के लिए एक साधारण उपयोगकर्ता बनाएं (कभी भी root के रूप में न चलाएं!):
\n\nsudo useradd -m -s /bin/bash kotlinapp\nsudo passwd kotlinapp\n\nVPS पर Kotlin एप्लिकेशन चलाना
\n\nSCP या SFTP के माध्यम से JAR-फ़ाइल को सर्वर पर कॉपी करें:
\n\nscp build/libs/myapp-1.0.0.jar kotlinapp@आपका-सर्वर:/home/kotlinapp/app.jar\n\nअब एप्लिकेशन चलाएं। सरलता के लिए, nohup का उपयोग करें ताकि SSH बंद होने पर प्रक्रिया समाप्त न हो:
\n\nnohup java -jar /home/kotlinapp/app.jar --server.port=8080 &\n\nलेकिन यह केवल पहला कदम है। वास्तविक जीवन में, आपको आवश्यकता होगी:
\n- \n
- Systemd-सर्विस - विफलताओं के बाद और सर्वर स्टार्टअप पर एप्लिकेशन को स्वचालित रूप से पुनरारंभ करने के लिए। \n
- Nginx - HTTPS, लोड बैलेंसिंग और स्टैटिक फ़ाइलों के लिए रिवर्स प्रॉक्सी के रूप में। \n
- मॉनिटरिंग - कम से कम सरल लॉगिंग और अपटाइम जांच। \n
Kotlin एप्लिकेशन के लिए systemd-सर्विस का उदाहरण (/etc/systemd/system/kotlinapp.service):
[Unit]\nDescription=Kotlin Application\nAfter=network.target\n\n[Service]\nUser=kotlinapp\nWorkingDirectory=/home/kotlinapp\nExecStart=/usr/bin/java -jar /home/kotlinapp/app.jar --server.port=8080\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.targe