Linux सर्वर पर PM2 को कैसे इंस्टाल और सेट करें?

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

Node.js, ओपन-सोर्स जावास्क्रिप्ट रनटाइम, आपको वेब ब्राउज़र के बाहर जावास्क्रिप्ट चलाने की अनुमति देकर आपके एप्लिकेशन के बैकएंड इंफ्रास्ट्रक्चर के निर्माण के लिए एक लोकप्रिय विकल्प है। लेकिन क्या होगा यदि आपका Node.js एप्लिकेशन उत्पादन में क्रैश हो जाए? इस लेख में जानें कि आप ऐसे परिदृश्यों से कैसे बच सकते हैं।

PM2 क्या है और इसकी आवश्यकता क्यों है?

PM2 एक डेमॉन प्रक्रिया प्रबंधक है जो आपको Node.js अनुप्रयोगों को हमेशा के लिए जीवित रखने, उन्हें बिना डाउनटाइम के पुनः लोड करने, एप्लिकेशन लॉगिंग, निगरानी और क्लस्टरिंग का प्रबंधन करने में सक्षम बनाता है।

कल्पना करें कि आपका Node.js वेब सर्वर किसी रनटाइम त्रुटि के कारण क्रैश हो जाता है। PM2 जैसी किसी चीज का उपयोग किए बिना, आपको समय-समय पर अपने आवेदन की स्थिति को मैन्युअल रूप से ट्रैक करना होगा और जब भी यह डाउन हो जाए तो इसे पुनरारंभ करना होगा। PM2 आपको इस प्रक्रिया को स्वचालित करने में मदद करता है और आपके आवेदन को 24/7 ऑनलाइन रखता है, भले ही चीजें गलत हों।

Linux सर्वर पर PM2 इंस्टाल करना

इससे पहले कि आप PM2 को स्थापित कर सकें, सुनिश्चित करें कि आपके पास Node.js और NPM आपके Linux सर्वर पर स्थापित है ताकि PM2 पैकेज को Node Package Manager रिपॉजिटरी से डाउनलोड किया जा सके।

एक बार जब आप Node.js को अपने सर्वर पर चालू कर लेते हैं, तो इस कमांड को चलाकर PM2 स्थापित करें:

 npm install -g pm2

आउटपुट:

उपरोक्त आदेश में -g ध्वज वैश्विक के लिए है और आपको अपने सभी Node.js अनुप्रयोगों में PM2 का उपयोग करने की अनुमति देता है। आपके उपयोगकर्ता खाते की अनुमतियों के आधार पर, आपको कमांड की शुरुआत में sudo जोड़ने की आवश्यकता हो सकती है।

PM2 के साथ नोड ऐप्स चलाना

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

 pm2 start filename.js

उदाहरण के लिए, यदि आपके Node.js एप्लिकेशन का प्रवेश बिंदु index.js फ़ाइल के अंदर है, तो आप फ़ाइल को इस प्रकार चला सकते हैं:

 pm2 start index.js

यदि आपको अपने आवेदन में कोई परिवर्तन करने की आवश्यकता है, तो आप कोड को संपादित करने के लिए कमांड-लाइन टेक्स्ट एडिटर का उपयोग करके ऐसा कर सकते हैं, और फिर इस कमांड के साथ अपने PM2 एप्लिकेशन इंस्टेंस को पुनरारंभ करें:

 pm2 restart filename.js

इसके बजाय एप्लिकेशन को पूरी तरह से बंद करने के लिए, इस कमांड का उपयोग करें:

 pm2 stop filename.js

PM2 के साथ एक फ़ाइल चलाने के बजाय, आप अपने Node.js एप्लिकेशन के package.json फ़ाइल के अंदर मौजूद NPM स्क्रिप्ट को भी निष्पादित कर सकते हैं। उदाहरण के लिए, यदि आप स्टार्ट स्क्रिप्ट चलाना चाहते हैं, तो कमांड को इस तरह से स्ट्रक्चर करें:

 pm2 start npm --name <app_name> -- start

लॉग और सांख्यिकी देखना

रनटाइम के दौरान उत्पन्न होने वाली त्रुटियों की निगरानी के लिए, PM2 आपको आपके एप्लिकेशन द्वारा जनरेट किए गए लॉग्स की जांच करने का विकल्प प्रदान करता है। यहां बताया गया है कि आप उन्हें कैसे देख सकते हैं:

 pm2 logs <app_name>

वर्तमान में चल रही सभी प्रक्रियाओं की निगरानी के लिए, PM2 सीपीयू और रैम के उपयोग को देखने के लिए एक आसान टर्मिनल-आधारित डैशबोर्ड के साथ आता है, जिसे आप इस कमांड से एक्सेस कर सकते हैं:

 pm2 monit

शेष विवरण और मेटाडेटा जैसे एप्लिकेशन संस्करण, पुनरारंभ की संख्या, अपटाइम, स्क्रिप्ट तर्क, और बहुत कुछ देखने के लिए:

 pm2 show <app_name>

Node.js ऐप्स को आसानी से उत्पादन के लिए तैनात करें

PM2 जैसे प्रोसेस मैनेजर का उपयोग करने से आपके Node.js एप्लिकेशन की स्थिति और अपटाइम की लगातार निगरानी करने के ओवरहेड को काफी हद तक कम किया जा सकता है। इसके बिल्ट-इन लोड बैलेंसर के साथ, आप अपनी सेवाओं के लिए बेहतर प्रदर्शन और विश्वसनीयता की उम्मीद कर सकते हैं।

परिनियोजन की बात करें तो, आप शायद क्लाउड पर ऐप्स को परिनियोजित करने के लिए लिनक्स वर्चुअल मशीन का उपयोग करेंगे। इस बारे में अनिश्चित हैं कि आप ऐसा कैसे कर सकते हैं? Azure पर वर्चुअल मशीन के साथ आरंभ करने के लिए यहां एक मार्गदर्शिका दी गई है।