परिचय: VPS पर JavaScript एप्लिकेशन क्यों डिप्लॉय करें?
JavaScript (Node.js) में आधुनिक वेब एप्लिकेशन विकसित करना केवल आधा काम है। दूसरा, उतना ही महत्वपूर्ण हिस्सा है डिप्लॉयमेंट, यानी आपके प्रोजेक्ट को एक वास्तविक सर्वर पर तैनात करना जो इंटरनेट पर उपलब्ध हो। वर्चुअल प्राइवेट सर्वर (VPS) का उपयोग आपको शेयर्ड-होस्टिंग के विपरीत, वातावरण पर पूर्ण नियंत्रण देता है। आप अपनी आवश्यकताओं के अनुसार सर्वर को कॉन्फ़िगर कर सकते हैं, कोई भी निर्भरताएँ स्थापित कर सकते हैं और उच्च प्रदर्शन सुनिश्चित कर सकते हैं।
इस मार्गदर्शिका में, हम चरण दर चरण VPS पर एक सामान्य JavaScript (Node.js) एप्लिकेशन को डिप्लॉय करने की प्रक्रिया को समझेंगे। हम सभी चरणों को कवर करेंगे: प्रारंभिक सर्वर सेटअप से लेकर PM2 प्रोसेस मैनेजर और Nginx रिवर्स प्रॉक्सी सर्वर का उपयोग करके प्रोडक्शन-मोड में एप्लिकेशन चलाने तक। यह लेख उन डेवलपर्स के लिए है जो पहले से ही Node.js और Linux कमांड लाइन की मूल बातों से परिचित हैं।
1. VPS तैयार करना और प्रारंभिक सेटअप
पहला कदम किसी भी प्रदाता (DigitalOcean, Linode, Vultr या रूसी समकक्ष) से VPS किराए पर लेना है। अनुशंसित न्यूनतम योजना: 1 vCPU, 1-2 GB RAM। ऑपरेटिंग सिस्टम — Ubuntu 22.04 LTS (या नया)।
1.1. SSH के माध्यम से सर्वर से कनेक्ट करना
IP पता और रूट पासवर्ड प्राप्त करने के बाद, अपने टर्मिनल से सर्वर से कनेक्ट करें:
ssh root@आपका_सर्वर_IPयदि आप SSH-कुंजी का उपयोग कर रहे हैं (अनुशंसित), तो निजी कुंजी का पथ निर्दिष्ट करें:
ssh -i ~/.ssh/id_rsa root@आपका_सर्वर_IP1.2. उपयोगकर्ता बनाना और बुनियादी सुरक्षा
कभी भी लगातार root के रूप में काम न करें। एक नया उपयोगकर्ता बनाएं और उसे sudo-अधिकार दें:
adduser myuserusermod -aG sudo myuserफिर नए उपयोगकर्ता के लिए SSH-कुंजी कॉन्फ़िगर करें (अपनी स्थानीय मशीन से सार्वजनिक कुंजी कॉपी करें) और फ़ाइल /etc/ssh/sshd_config में पासवर्ड द्वारा लॉगिन अक्षम करें:
PasswordAuthentication noSSH सेवा को पुनरारंभ करें: sudo systemctl restart sshd।
1.3. आवश्यक सॉफ़्टवेयर स्थापित करना
पैकेज मैनेजर को अपडेट करें और Node.js (NodeSource के माध्यम से LTS संस्करण अनुशंसित), Git और Nginx स्थापित करें:
sudo apt update && sudo apt upgrade -ycurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejs git nginxसंस्करण जांचें: node -v और npm -v।
2. रिपॉजिटरी क्लोन करना और निर्भरताएँ स्थापित करना
अब जब सर्वर तैयार है, तो उस पर अपने एप्लिकेशन का कोड स्थानांतरित करें।
2.1. प्रोजेक्ट क्लोन करना
उपयोगकर्ता की होम डायरेक्टरी पर जाएं और GitHub (या किसी अन्य Git-होस्टिंग) से रिपॉजिटरी क्लोन करें:
cd /home/myusergit clone https://github.com/आपका_लॉगिन/आपका_रिपॉजिटरी.git myappcd myapp2.2. निर्भरताएँ स्थापित करना और परीक्षण रन
package.json में निर्दिष्ट सभी npm-पैकेज स्थापित करें:
npm installयदि प्रोजेक्ट में पर्यावरण चर का उपयोग किया जाता है (उदाहरण के लिए, डेटाबेस या API-कुंजियों के लिए), तो एक .env फ़ाइल बनाएं और उसे भरें:
nano .envसामग्री का उदाहरण:
PORT=3000DATABASE_URL=mongodb://localhost:27017/mydbNODE_ENV=productionयह सुनिश्चित करने के लिए कि यह काम करता है, मैन्युअल रूप से एप्लिकेशन चलाएं:
node app.jscurl http://localhost:3000 के माध्यम से या ब्राउज़र में http://आपका_IP:3000 खोलकर (फ़ायरवॉल में पोर्ट की अनुमति देने के बाद) पहुँच की जाँच करें। यदि सब कुछ काम करता है, तो प्रक्रिया को रोकें (Ctrl+C)।
3. PM2 प्रोसेस मैनेजर सेट करना
node app.js के माध्यम से चलाया गया एप्लिकेशन, SSH-सत्र बंद करते ही बंद हो जाएगा। स्थायी संचालन के लिए PM2 का उपयोग किया जाता है — Node.js के लिए एक प्रोसेस मैनेजर, जो क्रैश होने पर स्वचालित रूप से एप्लिकेशन को पुनरारंभ करता है और प्रबंधन करता है