परिचय: आपके Node.js ऐप के लिए VPS क्यों सबसे अच्छा विकल्प है?
\nआपने JavaScript (Node.js) में एक शानदार ऐप बनाया, लोकल टेस्ट किया, और अब चाहते हैं कि यह 24/7 इंटरनेट पर उपलब्ध रहे। शेयर्ड होस्टिंग अक्सर Node.js के लिए सीमित होती है, और क्लाउड सर्विसेज (Heroku, Railway) महंगी या अनप्रेडिक्टेबल हो सकती हैं। वर्चुअल प्राइवेट सर्वर (VPS) एक बेहतरीन विकल्प है: पूरा कंट्रोल, हाई परफॉर्मेंस, और किफायती कीमत।
\nइस चरण-दर-चरण गाइड में, हम JavaScript (Node.js) ऐप को VPS पर स्क्रैच से डिप्लॉय करने की पूरी प्रक्रिया समझेंगे। आप सीखेंगे कि सर्वर कैसे सेटअप करें, ज़रूरी सॉफ्टवेयर इंस्टॉल करें, ऐप को सुरक्षित रूप से चलाएं, और इसे डोमेन पर एक्सेस करें। सभी कोड उदाहरण काम करने वाले और टेस्टेड हैं।
\n\n1. सर्वर तैयार करना: VPS की प्रारंभिक सेटअप
\nसबसे पहले, किसी भी प्रदाता (DigitalOcean, Vultr, Timeweb, Selectel) से VPS रेंट करें। न्यूनतम स्पेसिफिकेशन: 1 vCPU, 1-2 GB RAM, 20-30 GB SSD। ऑपरेटिंग सिस्टम — Ubuntu 22.04 LTS (सबसे स्थिर वर्शन)।
\n\n1.1. SSH के ज़रिए सर्वर से कनेक्ट करें
\nIP एड्रेस और पासवर्ड मिलने के बाद, टर्मिनल (Mac/Linux) या PuTTY (Windows) से सर्वर से कनेक्ट करें:
\nssh root@आपका_सर्वर_IP\nतुरंत पासवर्ड बदलें और एक नया यूज़र बनाएं (root के साथ काम करना सुरक्षित नहीं है):
\nadduser deploy_user\nusermod -aG sudo deploy_user\nsu - deploy_user\n\n1.2. सिस्टम अपडेट और बेसिक पैकेज इंस्टॉल करें
\nsudo apt update && sudo apt upgrade -y\nsudo apt install -y curl git ufw build-essential\nबेसिक फायरवॉल UFW सेटअप करें (केवल SSH और ज़रूरी पोर्ट खोलें):
\nsudo ufw allow OpenSSH\nsudo ufw allow 80/tcp\nsudo ufw allow 443/tcp\nsudo ufw enable\n\n2. Node.js और प्रोसेस मैनेजर PM2 इंस्टॉल करें
\nसर्वर पर JavaScript ऐप चलाने के लिए Node.js चाहिए। आधिकारिक NodeSource वर्शन मैनेजर का उपयोग करके नवीनतम LTS वर्शन इंस्टॉल करें:
\n\n2.1. Node.js (v20 LTS) इंस्टॉल करें
\ncurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\nsudo apt install -y nodejs\nइंस्टॉलेशन जांचें:
\nnode -v # v20.x.x\nnpm -v # 10.x.x\n\n2.2. PM2 इंस्टॉल और कॉन्फ़िगर करें
\nPM2 Node.js के लिए एक एडवांस्ड प्रोसेस मैनेजर है। यह ऐप क्रैश होने पर ऑटोमैटिकली रीस्टार्ट करता है, लॉग मैनेज करता है, और कई इंस्टेंस (क्लस्टरिंग) चलाने की सुविधा देता है।
\nsudo npm install -g pm2\nसर्वर रीबूट होने पर PM2 को ऑटोस्टार्ट करने के लिए सेटअप करें:
\npm2 startup systemd\nsudo env PATH=$PATH:/usr/bin pm2 startup systemd -u deploy_user --hp /home/deploy_user\n\n3. ऐप डिप्लॉय करें और PM2 के ज़रिए चलाएं
\nअब आप अपने JavaScript ऐप को सर्वर पर ट्रांसफर करने के लिए तैयार हैं। दो लोकप्रिय तरीके हैं: Git (सुझाव) या SCP/FileZilla।
\n\n3.1. रिपॉजिटरी क्लोन करें (Git)
\ncd /home/deploy_user\ngit clone https://github.com/आपका_यूज़रनेम/आपका_रिपॉजिटरी.git myapp\ncd myapp\nडिपेंडेंसी इंस्टॉल करें और प्रोजेक्ट बिल्ड करें (अगर ज़रूरी हो):
\nnpm install\n# अगर बिल्ड स्क्रिप्ट है: npm run build\n\n3.2. .env कॉन्फ़िगरेशन फ़ाइल बनाएं
\nकभी भी कोड में सीक्रेट्स न रखें। प्रोजेक्ट फोल्डर में .env फ़ाइल बनाएं:
\nnano .env\nउदाहरण सामग्री:
\nPORT=3000\nNODE_ENV=production\nDATABASE_URL=mongodb://localhost:27017/myapp\nJWT_SECRET=आपका_सुपर_सीक्रेट_की\n\n3.3. PM2 के ज़रिए ऐप चलाएं
\nमान लें कि आपके ऐप का एंट्री पॉइंट app.js या server.js है। इसे चलाएं:
pm2 start app.js --name "myapp"\nस्टेटस जांचें:
\npm2 status\npm2 logs myapp