Node.js ऐप्स को परिनियोजित करने में कोई परेशानी नहीं होनी चाहिए। अपने Express.js सर्वर को रेंडर के किफ़ायती और उपयोगकर्ता के अनुकूल प्लेटफ़ॉर्म के साथ चालू करें।

2022 के अंत में, हेरोकू ने अपने फ्री टियर विकल्प को बंद कर दिया, जिसके परिणामस्वरूप वेब होस्टिंग और इसके पारिस्थितिकी तंत्र में अन्य क्लाउड सेवाओं के लिए पहले से उपलब्ध मुफ्त सदस्यता योजना को हटा दिया गया।

यदि आप छोटी अवधि के लिए एप्लिकेशन को परिनियोजित और होस्ट करना चाहते हैं तो फ्री टियर विशेष रूप से आसान और लागत प्रभावी हैं। सौभाग्य से, एक वैकल्पिक क्लाउड प्लेटफॉर्म है, जो हरोकू की तरह, अन्य भत्तों के बीच अपनी क्लाउड सेवाओं के लिए एक मुफ्त स्तर प्रदान करता है।

इस लेख में, हम यह पता लगाएंगे कि क्लाउड-आधारित होस्टिंग प्लेटफ़ॉर्म रेंडर पर Express.js REST API को कैसे परिनियोजित किया जाए।

रेंडर क्या है?

रेंडर एक क्लाउड होस्टिंग प्लेटफ़ॉर्म है जो स्थैतिक वेबसाइटों, पूरी तरह से विकसित वेब एप्लिकेशन, बैकएंड एपीआई या डेटाबेस को क्लाउड पर तैनात और प्रबंधित करने का एक सहज और परेशानी मुक्त तरीका प्रदान करता है। सुविधाओं में शामिल हैं:

  • उपभोक्ता - अनुकूल इंटरफ़ेस: रेंडर एक सरल और सहज इंटरफ़ेस प्रदान करता है जो लोकप्रिय प्रोग्रामिंग भाषाओं जैसे कि पायथन और Node.js का उपयोग करके बनाए गए एप्लिकेशन को तैनात करने की प्रक्रिया को सरल करता है।
  • अंतर्निहित डेटाबेस: Render इसे बनाने वाले PostgreSQL, MySQL, और MongoDB जैसे लोकप्रिय डेटाबेस के लिए बिल्ट-इन सपोर्ट प्रदान करता है अलग डेटाबेस सेट किए बिना डेटाबेस को एप्लिकेशन में सेट अप और एकीकृत करना आसान है सर्वर।
  • निर्बाध परिनियोजन वर्कफ़्लो: रेंडर स्वचालित परिनियोजन, रोलबैक और GitHub और GitLab जैसी लोकप्रिय सेवाओं के साथ एकीकरण जैसी सुविधाएँ प्रदान करता है।
  • कस्टम डोमेन और एसएसएल: रेंडर वेबसाइटों और वेब अनुप्रयोगों के लिए कस्टम डोमेन नाम कॉन्फ़िगर करने की क्षमता प्रदान करता है, और इसमें सुरक्षित HTTPS एक्सेस के लिए मुफ़्त SSL प्रमाणपत्र शामिल हैं।

रेंडर और हरोकू के बीच तुलना

अन्य क्लाउड प्लेटफ़ॉर्म की तरह, रेंडर के अपने फ़ायदे और कमियाँ हैं। लेकिन यह हरोकू जैसे लोकप्रिय क्लाउड समाधानों की तुलना कैसे करता है?

  • सादगी: रेंडर उपयोग में आसानी और न्यूनतम कॉन्फ़िगरेशन पर ध्यान देने के साथ अनुप्रयोगों को तैनात करने और प्रबंधित करने के लिए उपयोगकर्ता के अनुकूल इंटरफेस प्रदान करता है।
  • स्वचालित स्केलिंग: मैन्युअल समायोजन या जटिल कॉन्फ़िगरेशन की आवश्यकता के बिना रेंडर स्वचालित रूप से मांग के आधार पर अनुप्रयोगों को स्केल करता है।
  • लागत प्रभावशीलता: रेंडर लागत प्रभावी मूल्य प्रदान करता है जिसमें व्यक्तिगत परियोजनाओं के लिए एक निःशुल्क स्तर और टीमों के लिए अपेक्षाकृत कम मूल्य निर्धारण शामिल है संगठनात्मक योजनाएं, इसे छोटे पैमाने के वेब एप्लिकेशन और बड़े वाणिज्यिक दोनों की मेजबानी के लिए बजट के अनुकूल विकल्प बनाती हैं परियोजनाओं।
  • सीमित लचीलापन: इसकी सादगी और न्यूनतम कॉन्फ़िगरेशन उन्नत और जटिल परियोजनाओं के लिए एक सीमा हो सकती है जिसके लिए होस्टिंग वातावरण पर अधिक अनुकूलन और नियंत्रण की आवश्यकता होती है।

रेंडर पर एक नया प्रोजेक्ट सेट करें

आरंभ करने के लिए, शीर्ष पर जाएं रेंडर की वेबसाइट और साइन अप करें और अपने खाते में लॉग इन करें।

रेंडर लोकप्रिय प्रोग्रामिंग भाषाओं और वेब सेवाओं के लिए अंतर्निहित समर्थन की पेशकश करके बैकएंड एपीआई को तैनात और प्रबंधित करना आसान बनाता है जो परिनियोजन प्रक्रिया को कारगर बनाता है।

यह मार्गदर्शिका Express.js REST API को परिनियोजित करने के लिए अपनी वेब सेवाओं की सुविधा का उपयोग करेगी। साथ चलने के लिए, आपको पहले रेंडर पर एक PostgreSQL डेटाबेस इंस्टेंस सेट करना होगा।

अवलोकन पृष्ठ पर, पर क्लिक करें नया पोस्टग्रेएसक्यूएल एक नया उदाहरण स्थापित करने के लिए बटन।

अगला, अपने डेटाबेस का नाम भरें, और पर क्लिक करें डेटाबेस बनाएं. अंत में कॉपी करें आंतरिक डेटाबेस URL बशर्ते। आप इसका उपयोग अपने Express REST API और PostgreSQL डेटाबेस के बीच कनेक्शन को कॉन्फ़िगर करने के लिए करेंगे।

अनिवार्य रूप से, आंतरिक डेटाबेस URL का उपयोग रेंडर के सर्वर पर चल रहे अनुप्रयोगों जैसे कि तैनात एपीआई या पूर्ण रूप से विकसित वेब एप्लिकेशन के बीच संबंध स्थापित करने के लिए किया जाता है।

बहरहाल, यदि आप किसी अन्य प्लेटफॉर्म पर तैनात एप्लिकेशन से केवल PostgreSQL डेटाबेस का उपयोग करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं बाहरी डेटाबेस URL डेटाबेस कनेक्शन को कॉन्फ़िगर करने के लिए।

एक Express.js REST API बनाएँ

आगे बढ़ो और एक Express.js वेब सर्वर बनाएँ. अगला, निम्नलिखित पैकेज स्थापित करें:

एनपीएम पीजी क्नेक्स स्थापित करें

आप इस प्रोजेक्ट का कोड इसमें पा सकते हैं गिटहब रिपॉजिटरी.

डेटाबेस कनेक्शन कॉन्फ़िगर करें

Express.js API और Render के PostgreSQL इंस्टेंस के बीच कनेक्शन स्थापित करने के लिए, अपने प्रोजेक्ट फ़ोल्डर की रूट डायरेक्टरी में, एक बनाएँ db.js फ़ाइल और नीचे कोड जोड़ें।

कॉन्स्ट क्नेक्स = ज़रूरत होना('नेक्स');
कॉन्स्ट डीबी = क्नेक्स ({
ग्राहक: 'पीजी',
कनेक्शन: {
कनेक्शन स्ट्रिंग: 'डेटाबेस यूआरएल',
एसएसएल: {
अस्वीकार अनधिकृत: असत्य
}
}
});

मापांकनिर्यात = डीबी;

अगला, खोलें index.js फ़ाइल, और उसके नीचे कोड जोड़ें एक साधारण REST API लागू करता है चार मार्गों के साथ।

कॉन्स्ट एक्सप्रेस = ज़रूरत होना("अभिव्यक्त करना");
कॉन्स्ट ऐप = एक्सप्रेस ()
कॉन्स्ट डीबी = ज़रूरत होना('./डीबी')
कॉन्स्ट पोर्ट = प्रक्रिया.env। पोर्ट || 5000

app.use (express.json ())
app.use (express.urlencoded ({ विस्तारित: सत्य }))

ऐप.गेट ('/', (req, res) => res.send ('हैलो वर्ल्ड!' ))

// सभी उपयोगकर्ता प्राप्त करें
ऐप.गेट ('/उपयोगकर्ता', async (अनुरोध, रेस) => {
कोशिश {
कॉन्स्ट उपयोगकर्ता = इंतजार db.चयन करें ()। से ('उपयोगकर्ता')
res.json (उपयोगकर्ता)
} पकड़ना (गलती) {
सांत्वना देनात्रुटि (त्रुटि)
res.status (500.json({ संदेश: 'उपयोगकर्ताओं को पुनर्प्राप्त करने में त्रुटि' })
}
})


ऐप पोस्ट ('/उपयोगकर्ता', async (अनुरोध, रेस) => {
कोशिश {
कॉन्स्ट उपयोगकर्ता = इंतजार डीबी ('उपयोगकर्ता')।डालना({ नाम: req.body.name }).वापसी ('*')
res.json (उपयोगकर्ता)
} पकड़ना (गलती) {
सांत्वना देनात्रुटि (त्रुटि)
res.status (500.json({ संदेश: 'उपयोगकर्ता बनाने में त्रुटि' })
}
})

// किसी मौजूदा उपयोगकर्ता को हटाएं
ऐप.डिलीट('/उपयोगकर्ता/: आईडी', async (अनुरोध, रेस) => {
कोशिश {
कॉन्स्ट {आईडी} = req.params
कॉन्स्ट उपयोगकर्ता = इंतजार डीबी ('उपयोगकर्ता'.जहां ({आईडी})। हटाएं ()। लौट रहा है ('*')
res.json (उपयोगकर्ता)
} पकड़ना (गलती) {
सांत्वना देनात्रुटि (त्रुटि)
res.status (500.json({ संदेश: 'उपयोगकर्ता को हटाने में त्रुटि' })
}
})

app.listen (पोर्ट, () => सांत्वना देना।लकड़ी का लट्ठा(`पोर्ट पर सर्वर:${पोर्ट}`))

माइग्रेट.जेएस फ़ाइल सेट अप करें

एक नया फ़ोल्डर बनाएं, लिपियों, अपने प्रोजेक्ट की रूट डायरेक्टरी में, एक नई फ़ाइल जोड़ें, माइग्रेट.जेएस, और अंत में, नीचे कोड जोड़ें:

कॉन्स्ट डीबी = ज़रूरत होना('../डीबी');
(async () => {
कोशिश {
इंतजार db.schema.dropTableIfExists ('उपयोगकर्ता')
इंतजार db.schema.withSchema ('जनता')।तालिका बनाएं('उपयोगकर्ता', (टेबल) => {
तालिका वृद्धि ()
टेबल.स्ट्रिंग ('नाम')
})
सांत्वना देना।लकड़ी का लट्ठा('बनाई गई उपयोगकर्ता तालिका!')
प्रक्रिया.निकास (0)
} पकड़ना (गलती) {
सांत्वना देना.लॉग (त्रुटि)
प्रक्रिया.निकास (1)
}
})()

यह कोड एक नया बनाएगा उपयोगकर्ताओं दो स्तंभों के साथ डेटाबेस में तालिका: एक स्वत: वृद्धिशील प्राथमिक कुंजी फ़ील्ड और एक नाम फ़ील्ड।

अंत में, इन कमांड्स को अपने साथ जोड़ें पैकेज.जेसन फ़ाइल।

"स्क्रिप्ट्स": {
"शुरू करना": "नोड index.js",
"माइग्रेट": "नोड स्क्रिप्ट/माइग्रेट.जेएस",
},

अंत में, डेटाबेस पर उपयोगकर्ता की तालिका बनाने के लिए, आपको चलाने की आवश्यकता है माइग्रेट.जेएस नीचे दिए गए आदेश का उपयोग करके अपने टर्मिनल पर एक स्क्रिप्ट के रूप में फाइल करें।

एनपीएम रन माइग्रेट करें

हालाँकि, कमांड चलाने से पहले, सुनिश्चित करें कि इसे पुनः प्राप्त करें बाहरी डेटाबेस URL रेंडर की पोस्टग्रेएसक्यूएल इंस्टेंस सेटिंग जानकारी से, और इसे में पेस्ट करें db.js फ़ाइल कनेक्शन स्ट्रिंग के रूप में।

यह आपके स्थानीय मशीन से डेटाबेस इंस्टेंस के साथ एक कनेक्शन स्थापित करेगा, जिससे आप एपीआई को तैनात करने से पहले तालिका बना सकेंगे। एक बार तालिका बन जाने के बाद, आप अपने रेंडर के पोस्टग्रेएसक्यूएल उदाहरण पर जा सकते हैं, पुनः प्राप्त कर सकते हैं आंतरिक डेटाबेस URL, और अपडेट करें db.js तदनुसार फाइल करें।

REST API को रेंडर पर परिनियोजित करें

पहला, GitHub पर एक नया रिपॉजिटरी बनाएं और प्रोजेक्ट कोड को पुश करें। अगला, अपने रेंडर खाते में लॉग इन करें, पर क्लिक करें नया+ बटन, और चुनें वेब सेवा ड्रॉप-डाउन मेनू से विकल्प।

अंत में, अपने GitHub खाते तक पहुंचें, अपने प्रोजेक्ट के रिपॉजिटरी का चयन करें और इसे रेंडर पर कनेक्ट करें।

वेब सेवा सेटिंग्स पृष्ठ पर, नई सेवा के लिए एक नाम प्रदान करें, प्रोजेक्ट की रूट डायरेक्टरी, बिल्ड और स्टार्ट कमांड निर्दिष्ट करें, और अंत में, पर क्लिक करें वेब सेवा बनाएँ. परिनियोजन प्रक्रिया पूर्ण होने के बाद, पोस्टमैन पर समापन बिंदुओं का परीक्षण करने के लिए प्रदान किए गए URL की प्रतिलिपि बनाएँ।

पोस्टमैन पर एपीआई एंडपॉइंट्स का परीक्षण करें

पोस्टमैन एपीआई के विकास और परीक्षण के लिए एक लोकप्रिय उपकरण है। डाकिया से परिचित होने के लिए, एपीआई का परीक्षण करने के लिए इसका उपयोग करना सीखें.

परिनियोजित एपीआई का परीक्षण करने के लिए, एक बनाएं डाक के लिए अनुरोध /उपयोगकर्ताओं PostgreSQL डेटाबेस में डेटा स्टोर करने के लिए समापन बिंदु।

अंत में, संग्रहीत डेटा को पुनः प्राप्त करने के लिए एक GET अनुरोध करें।

क्या रेंडर एक व्यवहार्य विकल्प है?

रेंडर एक सीधी सेटअप प्रक्रिया प्रदान करता है, और लोकप्रिय वर्जन कंट्रोल सिस्टम के साथ सहज एकीकरण इसे एक अच्छा वैकल्पिक क्लाउड होस्टिंग प्लेटफॉर्म बनाता है।

इसके अलावा, इसका प्रतिस्पर्धी मूल्य निर्धारण मॉडल और लोकप्रिय विकास उपकरणों के लिए अंतर्निहित समर्थन इसे साइड प्रोजेक्ट्स और बड़े व्यावसायिक अनुप्रयोगों दोनों के लिए एक विश्वसनीय और उपयोगकर्ता के अनुकूल विकल्प बनाता है।