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

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

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

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

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

\n\n

Java एप्लिकेशन डेवलप करना काम का केवल आधा हिस्सा है। दूसरा, उतना ही महत्वपूर्ण हिस्सा है इसे सर्वर पर तैनात करना। कई डेवलपर्स को अपनी लोकल मशीन से रिमोट VPS पर कोड स्थानांतरित करने में कठिनाइयों का सामना करना पड़ता है। इस लेख में, हम उबंटू 22.04 ऑपरेटिंग सिस्टम वाले वर्चुअल प्राइवेट सर्वर (VPS) पर Java एप्लिकेशन (Spring Boot के उदाहरण के साथ) को तैनात करने की पूरी प्रक्रिया पर चर्चा करेंगे। आप सीखेंगे कि वातावरण कैसे सेट करें, प्रोजेक्ट कैसे बनाएं, इसे एक सेवा के रूप में कैसे चलाएं और Nginx और SSL के माध्यम से सुरक्षित पहुंच कैसे सुनिश्चित करें।

\n\n

1. VPS तैयार करना और आवश्यक सॉफ्टवेयर स्थापित करना

\n\n

कोड अपलोड करने से पहले, सर्वर को तैयार करना आवश्यक है। हम उबंटू 22.04 LTS का उपयोग करेंगे। SSH के माध्यम से सर्वर से कनेक्ट करें:

\n\n
ssh root@आपका-आईपी-पता
\n\n

पैकेज मैनेजर को अपडेट करें और बुनियादी उपयोगिताएँ स्थापित करें:

\n\n
apt update && apt upgrade -y\napt install curl git -y
\n\n

अब OpenJDK 17 स्थापित करें (अधिकांश आधुनिक प्रोजेक्ट्स के लिए अनुशंसित संस्करण):

\n\n
apt install openjdk-17-jdk -y
\n\n

इंस्टॉलेशन जांचें:

\n\n
java -version
\n\n

आपको कुछ इस तरह देखना चाहिए:

\n\n
openjdk version "17.0.9" 2023-10-17
\n\n

इसके बाद, प्रोजेक्ट को बिल्ड करने के लिए Maven स्थापित करें (यदि आप Gradle का उपयोग करते हैं, तो कमांड को तदनुसार बदलें):

\n\n
apt install maven -y\nmvn -version
\n\n

इसके साथ बुनियादी वातावरण की तैयारी पूरी होती है।

\n\n

2. Java एप्लिकेशन को बिल्ड करना और सर्वर पर अपलोड करना

\n\n

अपने Java एप्लिकेशन को लोकल रूप से बिल्ड करें। प्रोजेक्ट की रूट डायरेक्टरी पर जाएं और निष्पादित करें:

\n\n
mvn clean package -DskipTests
\n\n

सफल बिल्ड के बाद, target फ़ोल्डर में एक JAR फ़ाइल दिखाई देगी (उदाहरण के लिए, myapp-0.0.1-SNAPSHOT.jar)। अब इसे सर्वर पर अपलोड करना होगा। scp का उपयोग करें (अपनी लोकल मशीन से निष्पादित करें):

\n\n
scp target/myapp-0.0.1-SNAPSHOT.jar root@आपका-आईपी-पता:/opt/myapp/
\n\n

सर्वर पर एप्लिकेशन के लिए एक डायरेक्टरी बनाएं और फ़ाइल को स्थानांतरित करें:

\n\n
mkdir -p /opt/myapp\nmv myapp-0.0.1-SNAPSHOT.jar /opt/myapp/myapp.jar
\n\n

जांचें कि JAR फ़ाइल मौजूद है और परीक्षण के लिए इसे मैन्युअल रूप से चलाएं:

\n\n
cd /opt/myapp\njava -jar myapp.jar
\n\n

यदि एप्लिकेशन बिना किसी त्रुटि के चलता है, तो अगले चरण पर जाएं।

\n\n

3. स्वचालित स्टार्टअप के लिए systemd कॉन्फ़िगर करना

\n\n

एप्लिकेशन को सिस्टम स्टार्टअप पर स्वचालित रूप से शुरू करने और क्रैश होने पर पुनरारंभ करने के लिए, एक systemd सेवा बनाएं।

\n\n

सेवा फ़ाइल बनाएं:

\n\n
nano /etc/systemd/system/myapp.service
\n\n

निम्नलिखित सामग्री डालें (youruser को उस उपयोगकर्ता नाम से बदलें जिसके तहत एप्लिकेशन चलेगा, या root छोड़ दें):

\n\n
[Unit]\nDescription=My Java Spring Boot Application\nAfter=network.target\n\n[Service]\nUser=root\nWorkingDirectory=/opt/myapp\nExecStart=/usr/bin/java -jar /opt/myapp/myapp.jar\nSuccessExitStatus=143\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target
\n\n

पैरामीटर का स्पष्टीकरण:

\n
    \n
  • After=network.target — सेवा नेटवर्क उपलब्ध होने के बाद शुरू होती है।
  • \n
  • Restart=always — क्रैश होने पर स्वचालित पुनरारंभ।
  • \n
  • RestartSec=10 — पुनरारंभ से पहले 10 सेकंड का विराम।
  • \n
  • SuccessExitStatus=143 — स्टॉप सिग्नल का सही हैंडलिंग।
  • \n
\n\n

अब सेवा को सक्रिय करें और शुरू करें:

\n\n
systemctl daemon-reload\nsystemctl enable myapp\nsystemctl start myapp
\n\n

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

\n\n
systemctl status myapp
\n\n

आपको Active: active (running) देखना चाहिए। अब आपका एप्लिकेशन शुरू हो जाएगा

ब्लॉग

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