PythonLib पर JavaScript एप्लिकेशन का डिप्लॉय: VPS, Docker और Cloud

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

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

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

डरना छोड़ें और डिप्लॉय करना शुरू करें: आपका पहला प्रोडक्शन-एनवायरनमेंट

\n\n

आपने एक शानदार JavaScript-एप्लिकेशन लिखा है। यह लोकल पर काम करता है, टेस्ट पास हो जाते हैं, और कंसोल में एक भी एरर नहीं है। लेकिन जैसे ही सवाल आता है "इसे असली सर्वर पर कैसे चलाएं?", कई लोगों में घबराहट शुरू हो जाती है। VPS, Docker, क्लाउड प्लेटफॉर्म - ये DevOps के क्षेत्र की चीज़ें लगती हैं, न कि फ्रंटएंड या Node.js पर बैकएंड की।

\n\n

असल में यह जितना लगता है उससे कहीं ज़्यादा आसान है। इस लेख में हम JavaScript-एप्लिकेशन डिप्लॉय करने के तीन मुख्य तरीकों पर चर्चा करेंगे: VPS पर, Docker में और क्लाउड में। मैं वास्तविक कोड उदाहरण दिखाऊंगा, प्रत्येक विधि के फायदे और नुकसान समझाऊंगा, और आप वह चुन सकेंगे जो आपके प्रोजेक्ट के लिए उपयुक्त हो।

\n\n

डिप्लॉय क्या है और इसकी आखिर ज़रूरत क्यों है?

\n\n

डिप्लॉय (deploy) आपके एप्लिकेशन को सर्वर पर तैनात करने की प्रक्रिया है, जहाँ यह उपयोगकर्ताओं के लिए 24/7 उपलब्ध रहेगा। लोकल डेवलपमेंट तो केवल पहला कदम है। डिप्लॉय के बिना, आपका प्रोजेक्ट आपके कंप्यूटर पर फ़ाइलों का एक संग्रह मात्र रह जाता है।

\n\n

JavaScript-डेवलपर्स के लिए विशेष रूप से तीन परिदृश्य प्रासंगिक हैं:

\n\n
    \n
  • VPS पर डिप्लॉय — सर्वर पर पूर्ण नियंत्रण।
  • \n
  • Docker में डिप्लॉय — एनवायरनमेंट का अलगाव और पुनरुत्पादन क्षमता।
  • \n
  • क्लाउड प्लेटफॉर्म पर डिप्लॉय — इन्फ्रास्ट्रक्चर से न्यूनतम परेशानी।
  • \n
\n\n

आइए प्रत्येक विकल्प को विस्तार से समझते हैं।

\n\n

VPS पर डिप्लॉय: मैन्युअल प्रबंधन और पूर्ण नियंत्रण

\n\n

VPS (Virtual Private Server) एक वर्चुअल सर्वर है, जिस पर आप कोई भी OS इंस्टॉल कर सकते हैं और सब कुछ मैन्युअल रूप से कॉन्फ़िगर कर सकते हैं। यह एक क्लासिक तरीका है जो अधिकतम लचीलापन देता है।

\n\n

चरण 1: सर्वर का चयन और सेटअप

\n\n

शुरुआत में हम एक VPS किराए पर लेते हैं (उदाहरण के लिए, DigitalOcean, Hetzner या Timeweb से)। Node.js के लिए न्यूनतम कॉन्फ़िगरेशन — 1 vCPU और 1 GB RAM। हम Ubuntu 22.04 LTS चुनते हैं।

\n\n

SSH के माध्यम से एक्सेस मिलने के बाद बेसिक सेटअप करते हैं:

\n\n
ssh root@आपका_सर्वर_IP\n\n# पैकेज अपडेट\napt update && apt upgrade -y\n\n# Node.js 20.x इंस्टॉल करना\ncurl -fsSL https://deb.nodesource.com/setup_20.x | bash -\napt-get install -y nodejs\n\n# जांच\nnode -v\nnpm -v
\n\n

चरण 2: रिपॉजिटरी क्लोन करना और डिपेंडेंसी इंस्टॉल करना

\n\n

मान लीजिए आपका एप्लिकेशन GitHub पर है। इसे सर्वर पर क्लोन करते हैं:

\n\n
git clone https://github.com/आपका_यूज़रनेम/आपका_रिपॉजिटरी.git\ncd आपका_रिपॉजिटरी\nnpm install --production
\n\n

चरण 3: एनवायरनमेंट वेरिएबल सेट करना

\n\n

कभी भी कोड में सीक्रेट्स न रखें। एक .env फ़ाइल बनाएं:

\n\n
nano .env\n\n# उदाहरण सामग्री\nPORT=3000\nDATABASE_URL=mongodb://localhost:27017/myapp\nJWT_SECRET=आपकी_सुपर_सीक्रेट_कुंजी
\n\n

चरण 4: PM2 के माध्यम से चलाना

\n\n

PM2 Node.js के लिए एक प्रोसेस मैनेजर है। यह एप्लिकेशन के क्रैश होने पर स्वचालित रूप से पुनरारंभ करता है और इसे चालू रखता है:

\n\n
npm install -g pm2\npm2 start app.js --name "my-app"\npm2 save\npm2 startup
\n\n

हो गया! आपका एप्लिकेशन पोर्ट 3000 पर चल रहा है। इसे पोर्ट 80 पर उपलब्ध कराने के लिए, Nginx को reverse proxy के रूप में उपयोग करें।

\n\n
apt install nginx -y\nnano /etc/nginx/sites-available/default
\n\n

फ़ाइल के अंदर यह लिखें:

\n\n
server {\n    listen 80;\n    server_name आपका_डोमेन.कॉम;\n\n    location / {\n        proxy_pass http://localhost:3000;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection 'upgrade';\n        proxy_set_header Host $host;\n        proxy_cache_bypass $http_upgrade;\n    }\n}
\n\n

Nginx को पुनरारंभ करें:

\n\n
nginx -t\nsystemctl restart nginx
\n\n

VPS के फायदे: पूर्ण नियंत्रण, कुछ भी कॉन्फ़िगर कर सकते हैं, कम लागत।

\n

नुकसान: सुरक्षा, बैकअप और अपडेट खुद करने पड़ते हैं।

\n\n

Docker में डिप्लॉय: पुनरुत्पादन क्षमता के लिए कंटेनरीकरण

\n\n

D

ब्लॉग

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