VPS पर Kotlin एप्लिकेशन का डिप्लॉयमेंट: A से Z तक चरण-दर-चरण मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

VPS पर Kotlin एप्लिकेशन का डिप्लॉयमेंट: A से Z तक चरण-दर-चरण

\n\n

आपने Kotlin (Ktor, Spring Boot या सिर्फ एक कंसोल सर्विस) में एक शानदार एप्लिकेशन लिखा है, और अब इसे एक वास्तविक सर्वर पर चलाने की आवश्यकता है। इस लेख में, हम VPS पर Kotlin एप्लिकेशन डिप्लॉय करने के पूरे चक्र को कवर करेंगे: सर्वर खरीदने और SSH सेटअप से लेकर systemd के माध्यम से चलाने और HTTPS के साथ डोमेन कनेक्ट करने तक। सभी उदाहरण काम करने वाले हैं, Ubuntu 22.04 पर परीक्षण किए गए हैं।

\n\n

1. VPS तैयार करना और कनेक्ट करना

\n\n

सबसे पहले, एक VPS किराए पर लें (उदाहरण के लिए, Timeweb, Selectel या DigitalOcean से)। न्यूनतम आवश्यकताएँ: 1 vCPU, 1 GB RAM, 20 GB SSD। ऑपरेटिंग सिस्टम — Ubuntu 22.04 LTS।

\n\n

IP पता और रूट पासवर्ड प्राप्त करने के बाद, SSH के माध्यम से कनेक्ट करें:

\n\n
ssh root@your_server_ip
\n\n

तुरंत सिस्टम अपडेट करें और एक अनप्रिविलेज्ड यूज़र बनाएँ (रूट के रूप में काम करना खराब प्रैक्टिस है):

\n\n
apt update && apt upgrade -y\nadduser kotlinuser\nusermod -aG sudo kotlinuser\nsu - kotlinuser
\n\n

सुविधाजनक और सुरक्षित लॉगिन के लिए SSH कुंजियाँ सेट करें:

\n\n
ssh-keygen -t ed25519 -C "your_email@example.com"\nssh-copy-id kotlinuser@your_server_ip
\n\n

अब /etc/ssh/sshd_config में पासवर्ड लॉगिन बंद करें (लाइन PasswordAuthentication no) और SSH को रीस्टार्ट करें: sudo systemctl restart sshd।

\n\n

2. Java (JRE/JDK) इंस्टॉल करना और एप्लिकेशन बिल्ड करना

\n\n

Kotlin एप्लिकेशन JVM पर चलते हैं। OpenJDK 17 या 21 इंस्टॉल करें (आधुनिक प्रोजेक्ट्स के लिए अनुशंसित):

\n\n
sudo apt install openjdk-17-jdk -y\njava -version
\n\n

अब अपने स्थानीय कंप्यूटर (जहाँ डेवलपमेंट हो रहा है) पर, एप्लिकेशन को JAR फ़ाइल में बिल्ड करें। Gradle (Ktor या Spring Boot) के लिए:

\n\n
./gradlew clean build
\n\n

तैयार JAR फ़ाइल build/libs/ में होगी। उदाहरण के लिए, myapp-1.0.0.jar। इसे सर्वर पर अपलोड करें:

\n\n
scp build/libs/myapp-1.0.0.jar kotlinuser@your_server_ip:~/app/
\n\n

सर्वर पर फ़ोल्डर संरचना बनाएँ:

\n\n
mkdir -p ~/app/logs ~/app/config
\n\n

कॉन्फ़िगरेशन फ़ाइलें (application.conf, application.yml) ~/app/config/ में रखें। जाँचें कि एप्लिकेशन मैन्युअल रूप से शुरू होता है:

\n\n
cd ~/app\njava -jar myapp-1.0.0.jar --spring.config.location=file:./config/
\n\n

यदि सब कुछ काम करता है — तो ऑटोमैटिक स्टार्टअप पर जाएँ।

\n\n

3. ऑटोस्टार्ट के लिए systemd सेटअप करना

\n\n

एप्लिकेशन को सर्वर रीबूट के बाद ऑटोमैटिक रूप से शुरू करने और त्रुटियों पर क्रैश न होने के लिए, हम एक systemd सर्विस बनाएँगे।

\n\n

फ़ाइल बनाएँ /etc/systemd/system/kotlin-app.service:

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

निम्नलिखित सामग्री डालें (अपने पथों से बदलें):

\n\n
[Unit]\nDescription=Kotlin Application Service\nAfter=network.target\n\n[Service]\nType=simple\nUser=kotlinuser\nWorkingDirectory=/home/kotlinuser/app\nExecStart=/usr/bin/java -jar /home/kotlinuser/app/myapp-1.0.0.jar --spring.config.location=file:/home/kotlinuser/app/config/\nRestart=on-failure\nRestartSec=10\nStandardOutput=append:/home/kotlinuser/app/logs/app.log\nStandardError=append:/home/kotlinuser/app/logs/error.log\n\n[Install]\nWantedBy=multi-user.target
\n\n

मुख्य पैरामीटर की व्याख्या:

\n
    \n
  • User — किसके द्वारा चलाना है (रूट नहीं);
  • \n
  • ExecStart — कॉन्फ़िगरेशन निर्दिष्ट करने के साथ पूर्ण स्टार्ट कमांड;
  • \n
  • Restart=on-failure — क्रैश होने पर ऑटोमैटिक रीस्टार्ट;
  • \n
  • StandardOutput/Error — फ़ाइलों में लॉगिंग।
  • \n
\n\n

सर्विस को सक्रिय करें:

\n\n
sudo systemctl daemon-reload\nsudo systemctl enable kotlin-app.service\nsudo systemctl start kotlin-app.service
\n\n

स्थिति जाँचें:

\n\n
sudo systemctl status kotlin-app.service

ब्लॉग

पुस्तक अनुशंसाएँ