"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إعداد وصول PMor متعدد المستخدمين على مثيل Ubuntu

إعداد وصول PMor متعدد المستخدمين على مثيل Ubuntu

تم النشر بتاريخ 2024-08-28
تصفح:345

Setting Up PMor Multi-User Access on Ubuntu Instance

غالبًا ما تتطلب إدارة تطبيقات Node.js على خادم الإنتاج مدير عمليات لضمان تشغيل تطبيقاتك بسلاسة والتعافي تلقائيًا من الأعطال. يعد PM2 أحد أشهر مديري العمليات في Node.js، حيث يقدم ميزات قوية مثل مراقبة العمليات وإدارة السجل ووضع المجموعة.

إذا كنت تقوم بتشغيل تطبيق على مثيل Google Cloud Ubuntu، فقد تواجه موقفًا تكون فيه عمليات PM2 مرئية فقط للمستخدم الذي بدأها. قد يكون هذا مشكلة إذا كان الخادم الخاص بك يحتوي على عدة مستخدمين، مثل المطورين أو مسؤولي النظام أو البرامج النصية للنشر التلقائي. في منشور المدونة هذا، سنتعرف على خطوات تكوين PM2 كخدمة على مستوى النظام، مما يجعلها في متناول جميع المستخدمين على الخادم.

لماذا يتم تكوين PM2 كخدمة على مستوى النظام؟

افتراضيًا، يتم تشغيل PM2 كعملية تحت إشراف المستخدم الذي بدأها. وهذا يعني أنه إذا قمت بإدخال SSH إلى الخادم الخاص بك كمستخدم واحد وبدأت عملية PM2، فلن تكون هذه العملية مرئية لمستخدم آخر يقوم بتسجيل الدخول عبر SSH. ولمعالجة هذه المشكلة، يمكننا تكوين PM2 لتعمل كخدمة على مستوى النظام. ولهذا الأسلوب العديد من المزايا:

  • رؤية العملية: يمكن لجميع المستخدمين على الخادم عرض وإدارة عمليات PM2.
  • بدء التشغيل التلقائي: سيبدأ PM2 تلقائيًا عند تشغيل النظام، مما يضمن تشغيل تطبيقاتك دائمًا.
  • الإدارة المركزية: السجلات وحالات العملية مركزية، مما يسهل إدارة تطبيقاتك.

المتطلبات الأساسية

قبل أن نبدأ، تأكد من حصولك على ما يلي:

  1. مثيل Google Cloud Ubuntu.
  2. تم تثبيت Node.js وnpm على المثيل.
  3. تم تثبيت PM2 عالميًا.

الخطوة 1: تثبيت PM2 عالميًا

للتأكد من أن جميع المستخدمين يمكنهم الوصول إلى PM2، يجب تثبيته عالميًا. يمكنك تثبيت PM2 عالميًا باستخدام npm:

sudo npm install -g pm2

يقوم هذا الأمر بتثبيت PM2 في دليل npm العالمي، مما يجعله متاحًا على مستوى النظام.

الخطوة 2: إعداد PM2 كخدمة على مستوى النظام

بعد ذلك، نحتاج إلى إعداد PM2 لتشغيله كخدمة. سيسمح هذا لـ PM2 بإدارة العمليات على مستوى النظام بدلاً من ربطها بجلسة مستخدم محددة.

قم بتشغيل الأمر التالي لإنشاء البرنامج النصي لبدء التشغيل الضروري لـ PM2:

pm2 startup

يكتشف هذا الأمر نظام init الذي يستخدمه مثيل Ubuntu الخاص بك (عادةً systemd) ويوفر أمرًا يجب تنفيذه باستخدام Sudo لتكوين PM2 كخدمة على مستوى النظام. سيبدو الإخراج كما يلي:

[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/

هنا، يجب استبدال باسم المستخدم الخاص بالمستخدم الذي قام في البداية بإعداد PM2. وهذا يضمن أن عملية PM2 مرتبطة بالدليل الرئيسي للمستخدم الصحيح.

الخطوة 3: تنفيذ الأمر الذي تم إنشاؤه

انسخ الأمر المقدم في مخرجات الخطوة السابقة وقم بتنفيذه. على سبيل المثال:

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

يقوم هذا الأمر بإنشاء خدمة systemd التي تبدأ PM2 بمتغيرات البيئة الصحيحة وسياق المستخدم.

الخطوة 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

سيعرض هذا الأمر قائمة العمليات التي تديرها خدمة PM2 على مستوى النظام، بغض النظر عن المستخدم الذي قام بتسجيل الدخول.

الخطوة 7: التكوين الإضافي للسجلات المشتركة (اختياري)

إذا كنت تريد أن يتمكن العديد من المستخدمين من الوصول إلى سجلات PM2، فقد تحتاج إلى ضبط أذونات الملف أو تكوين PM2 لتخزين السجلات في دليل مشترك. وهذا يضمن أن يتمكن جميع المستخدمين من عرض وإدارة السجلات الخاصة بالعمليات التي تعمل ضمن PM2.

لتغيير دليل ملف السجل، يمكنك استخدام متغير البيئة التالي:

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

قم بتعيين هذا في ملف تكوين عام، مثل /etc/environment، لجعله ثابتًا عبر الجلسات.

الخطوة 8: إدارة عمليات PM2 عبر المستخدمين

بمجرد إعداد PM2 كخدمة، يمكن للمستخدمين إدارة العمليات باستخدام أوامر PM2 القياسية. ومع ذلك، اعتمادًا على الأذونات وأدوار المستخدم، قد تتطلب بعض الأوامر الوصول إلى sudo. على سبيل المثال:

sudo pm2 list

سيقوم هذا الأمر بسرد العمليات التي تديرها خدمة PM2 على مستوى النظام، مما يسهل على المسؤولين والمطورين التعاون في إدارة الخادم.

خاتمة

يضمن إعداد PM2 كخدمة على مستوى النظام على مثيل Ubuntu الخاص بك إدارة تطبيقات Node.js الخاصة بك بقوة وإمكانية الوصول إليها لجميع المستخدمين على الخادم. يعد هذا الإعداد مفيدًا بشكل خاص في البيئات التي تحتوي على مستخدمين متعددين أو عمليات نشر تلقائية، مما يوفر طريقة موثوقة ومركزية لإدارة التطبيقات.

باتباع الخطوات الموضحة في هذا الدليل، يمكنك التأكد من توفر PM2 لجميع المستخدمين، وإعادة تشغيل عملياتك تلقائيًا بعد إعادة تشغيل النظام، وسهولة الوصول إلى السجلات. وهذا لا يبسط إدارة الخادم فحسب، بل يعزز أيضًا موثوقية تطبيقاتك في الإنتاج.

تعليمات سعيدة!

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/manojspace/setting-up-pm2-for-multi-user-access-on-ubuntu-instance-5g95?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@163 .com لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3