"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > उबंटू इंस्टेंस पर पीएमओआर मल्टी-यूजर एक्सेस सेट करना

उबंटू इंस्टेंस पर पीएमओआर मल्टी-यूजर एक्सेस सेट करना

2024-08-28 को प्रकाशित
ब्राउज़ करें:613

Setting Up PMor Multi-User Access on Ubuntu Instance

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

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

PM2 को सिस्टम-वाइड सेवा के रूप में कॉन्फ़िगर क्यों करें?

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

  • प्रक्रिया दृश्यता: सर्वर पर सभी उपयोगकर्ता PM2 प्रक्रियाओं को देख और प्रबंधित कर सकते हैं।
  • स्वचालित स्टार्टअप: सिस्टम बूट पर पीएम2 स्वचालित रूप से शुरू हो जाएगा, यह सुनिश्चित करते हुए कि आपके एप्लिकेशन हमेशा चल रहे हैं।
  • केंद्रीकृत प्रबंधन: लॉग और प्रक्रिया स्थिति केंद्रीकृत हैं, जिससे आपके अनुप्रयोगों को प्रबंधित करना आसान हो जाता है।

आवश्यक शर्तें

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:

  1. एक Google क्लाउड उबंटू उदाहरण।
  2. नोड.जेएस और एनपीएम इंस्टेंस पर स्थापित हैं।
  3. PM2 विश्व स्तर पर स्थापित।

चरण 1: वैश्विक स्तर पर PM2 स्थापित करें

यह सुनिश्चित करने के लिए कि सभी उपयोगकर्ता PM2 तक पहुंच सकें, इसे विश्व स्तर पर स्थापित किया जाना चाहिए। आप npm का उपयोग करके विश्व स्तर पर PM2 स्थापित कर सकते हैं:

sudo npm install -g pm2

यह कमांड वैश्विक एनपीएम निर्देशिका में पीएम2 स्थापित करता है, जिससे यह पूरे सिस्टम में उपलब्ध हो जाता है।

चरण 2: PM2 को सिस्टम-वाइड सेवा के रूप में सेट करें

इसके बाद, हमें एक सेवा के रूप में चलाने के लिए PM2 सेट अप करना होगा। यह PM2 को किसी विशिष्ट उपयोगकर्ता सत्र से बंधे रहने के बजाय सिस्टम स्तर पर प्रक्रियाओं को प्रबंधित करने की अनुमति देगा।

PM2 के लिए आवश्यक स्टार्टअप स्क्रिप्ट तैयार करने के लिए निम्नलिखित कमांड चलाएँ:

pm2 startup

यह कमांड आपके उबंटू इंस्टेंस (आमतौर पर सिस्टमडी) द्वारा उपयोग किए जाने वाले इनिट सिस्टम का पता लगाता है और एक कमांड प्रदान करता है जिसे सिस्टम-वाइड सेवा के रूप में पीएम2 को कॉन्फ़िगर करने के लिए सूडो के साथ निष्पादित करने की आवश्यकता होती है। आउटपुट कुछ इस तरह दिखेगा:

[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u  --hp /home/

यहां, को उस उपयोगकर्ता के उपयोगकर्ता नाम से प्रतिस्थापित किया जाना चाहिए जिसने शुरुआत में पीएम2 सेट किया था। यह सुनिश्चित करता है कि PM2 प्रक्रिया सही उपयोगकर्ता की होम निर्देशिका से जुड़ी हुई है।

चरण 3: जेनरेटेड कमांड निष्पादित करें

पिछले चरण के आउटपुट में दिए गए कमांड को कॉपी करें और इसे निष्पादित करें। उदाहरण के लिए:

sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u johndoe --hp /home/johndoe

यह कमांड एक सिस्टमडी सेवा बनाता है जो सही पर्यावरण चर और उपयोगकर्ता संदर्भ के साथ पीएम2 शुरू करता है।

चरण 4: PM2 प्रक्रिया सूची सहेजें

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

pm2 save

pm2 सेव कमांड प्रबंधित प्रक्रियाओं की वर्तमान सूची को JSON फ़ाइल में ~/.pm2/dump.pm2 में सहेजता है। PM2 प्रारंभ होने पर यह फ़ाइल स्वचालित रूप से लोड हो जाती है, जिससे यह सुनिश्चित होता है कि रीबूट के बाद आपके एप्लिकेशन पुनर्जीवित हो गए हैं।

चरण 5: बूट पर शुरू करने के लिए PM2 सेवा को सक्षम करें

यह सुनिश्चित करने के लिए कि सिस्टम बूट होने पर PM2 स्वचालित रूप से प्रारंभ हो जाए, आपको सेवा सक्षम करने की आवश्यकता है:

sudo systemctl enable pm2-johndoe

johndoe को उचित उपयोक्तानाम से बदलें। यह कमांड PM2 सेवा को सक्षम बनाता है, यह सुनिश्चित करते हुए कि जब भी सिस्टम बूट हो तो यह शुरू हो जाए।

चरण 6: किसी भी उपयोगकर्ता के साथ PM2 तक पहुँचना

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

pm2 list

यह कमांड सिस्टम-व्यापी पीएम2 सेवा द्वारा प्रबंधित प्रक्रियाओं की सूची प्रदर्शित करेगा, चाहे कोई भी उपयोगकर्ता लॉग इन हो।

चरण 7: साझा लॉग के लिए अतिरिक्त कॉन्फ़िगरेशन (वैकल्पिक)

यदि आप चाहते हैं कि PM2 लॉग एकाधिक उपयोगकर्ताओं द्वारा पहुंच योग्य हों, तो आपको साझा निर्देशिका में लॉग संग्रहीत करने के लिए फ़ाइल अनुमतियों को समायोजित करने या PM2 को कॉन्फ़िगर करने की आवश्यकता हो सकती है। यह सुनिश्चित करता है कि सभी उपयोगकर्ता PM2 के तहत चलने वाली प्रक्रियाओं के लिए लॉग देख और प्रबंधित कर सकते हैं।

लॉग फ़ाइल निर्देशिका को बदलने के लिए, आप निम्नलिखित पर्यावरण चर का उपयोग कर सकते हैं:

export PM2_HOME=/path/to/shared/pm2/home

इसे सभी सत्रों में लगातार बनाए रखने के लिए, इसे /etc/environment जैसी वैश्विक कॉन्फ़िगरेशन फ़ाइल में सेट करें।

चरण 8: सभी उपयोगकर्ताओं के बीच पीएम2 प्रक्रियाओं का प्रबंधन करना

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

sudo pm2 list

यह कमांड सिस्टम-व्यापी पीएम2 सेवा द्वारा प्रबंधित प्रक्रियाओं को सूचीबद्ध करेगा, जिससे प्रशासकों और डेवलपर्स के लिए सर्वर प्रबंधन पर सहयोग करना आसान हो जाएगा।

निष्कर्ष

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

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

हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/manojspace/setting-up-pm2-for-multi-user-access-on-ubuntu-instance-5g95?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 से संपर्क करें इसे हटाने के लिए .com
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3