VPS पर C++ एप्लिकेशन का डिप्लॉय: चरण-दर-चरण मार्गदर्शिका
C++ में डेवलपमेंट केवल आधा काम है। आपके एप्लिकेशन को उपयोगकर्ताओं के लिए उपलब्ध कराने के लिए, इसे सर्वर पर डिप्लॉय करना आवश्यक है। इस लेख में, हम Linux पर चलने वाले VPS (Virtual Private Server) पर C++ एप्लिकेशन के डिप्लॉय की प्रक्रिया पर विस्तार से चर्चा करेंगे। आप सीखेंगे कि सर्वर कैसे तैयार करें, कोड कैसे कंपाइल करें, ऑटोस्टार्ट कैसे सेट करें और सुरक्षा कैसे सुनिश्चित करें। यह सामग्री C++ और Linux की मूल बातों से परिचित डेवलपर्स के लिए है।
1. VPS तैयार करना और आवश्यक उपकरण स्थापित करना
कोड अपलोड करने से पहले, सुनिश्चित करें कि आपका VPS काम करने के लिए तैयार है। हम Ubuntu 22.04 LTS (या नया) का उपयोग करेंगे - जो वेब सर्वर के लिए सबसे स्थिर और लोकप्रिय डिस्ट्रीब्यूशन है।
1.1. सर्वर से कनेक्ट करना
VPS खरीदने के बाद, आपको एक IP पता, उपयोगकर्ता नाम (आमतौर पर root) और पासवर्ड मिलेगा। SSH के माध्यम से कनेक्ट करें:
ssh root@आपका_सर्वर_IPसुरक्षा के लिए, एक अलग उपयोगकर्ता बनाने और root के माध्यम से लॉगिन अक्षम करने की अनुशंसा की जाती है, लेकिन पहले डिप्लॉय के लिए आप root के रूप में काम कर सकते हैं।
1.2. सिस्टम अपडेट और कंपाइलर स्थापित करना
पैकेज मैनेजर को अपडेट करें और C++ बिल्ड के लिए आवश्यक उपकरण स्थापित करें:
apt update && apt upgrade -yapt install build-essential cmake git -y- build-essential — कंपाइलरों (g++, gcc) और उपयोगिताओं का सेट।
- cmake — बिल्ड सिस्टम जो कंपाइलेशन को सरल बनाता है।
- git — रिपॉजिटरी को क्लोन करने के लिए।
स्थापना की जाँच करें:
g++ --versioncmake --version2. C++ एप्लिकेशन का कंपाइलेशन और बिल्ड
मान लीजिए कि आपका एप्लिकेशन Git रिपॉजिटरी में है। इसे सर्वर पर क्लोन करें और बिल्ड करें।
2.1. रिपॉजिटरी क्लोन करना
cd /optgit clone https://github.com/आपका_उपयोगकर्ता_नाम/आपका_एप्लिकेशन.gitcd आपका_एप्लिकेशनप्रोजेक्ट्स को होम फ़ोल्डर के बजाय /opt या /var/www डायरेक्टरी में रखने की अनुशंसा की जाती है।
2.2. CMake के माध्यम से बिल्ड करना
बिल्ड के लिए एक अलग डायरेक्टरी बनाएँ और CMake चलाएँ:
mkdir build && cd buildcmake ..make -j$(nproc)फ्लैग -j$(nproc) प्रोसेसर के सभी कोर का उपयोग करके कंपाइलेशन को गति देता है। सफल बिल्ड के बाद, एक्जीक्यूटेबल फ़ाइल build फ़ोल्डर में दिखाई देगी।
2.3. एप्लिकेशन का परीक्षण
यह सुनिश्चित करने के लिए एप्लिकेशन को मैन्युअल रूप से चलाएँ कि यह काम कर रहा है:
./आपका_एप्लिकेशनयदि एप्लिकेशन HTTP सर्वर है, तो curl के माध्यम से इसकी जाँच करें:
curl http://localhost:80803. systemd के माध्यम से ऑटोस्टार्ट सेट करना
एप्लिकेशन को सर्वर स्टार्ट होने पर स्वचालित रूप से चलाने और क्रैश होने पर पुनरारंभ करने के लिए, एक systemd सर्विस बनाएँ।
3.1. यूनिट फ़ाइल बनाना
फ़ाइल /etc/systemd/system/myapp.service बनाएँ:
nano /etc/systemd/system/myapp.serviceनिम्नलिखित सामग्री डालें (पथ और उपयोगकर्ता नाम बदलें):
[Unit]Description=My C++ ApplicationAfter=network.target
[Service]ExecStart=/opt/आपका_एप्लिकेशन/build/आपका_एप्लिकेशनWorkingDirectory=/opt/आपका_एप्लिकेशन/buildRestart=alwaysRestartSec=5User=www-dataGroup=www-data
[Install]WantedBy=multi-user.target- ExecStart — एक्जीक्यूटेबल फ़ाइल का पूरा पथ।
- Restart=always — क्रैश होने पर स्वचालित पुनरारंभ।
- User/Group — एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता (जैसे,
www-data) का उपयोग करने की अनुशंसा की जाती है।
3.2. सर्विस चलाना
systemctl daemon-reloadsystemctl enable myapp.servicesystemctl start myapp.serviceस्थिति जाँचें:
sys