![كيفية تنزيل ملفات Linux ISO عبر عميل Torrent](/f/13f76c0bcc1a6d7fb51ebc008ad38468.jpg?width=100&height=100)
PM2 هو مدير عمليات على مستوى الإنتاج متقدم وفعال ومتعدد المنصات مجاني مفتوح المصدر لـ Node.js مع موازن تحميل مدمج. إنه يعمل على Linux و MacOS وكذلك Windows. وهو يدعم مراقبة التطبيقات ، والإدارة الفعالة للخدمات / العمليات الصغيرة ، وتشغيل التطبيقات في وضع المجموعة ، والبدء السلس وإغلاق التطبيقات.
إنها تحافظ على تطبيقاتك "حيا الى الابد"مع إعادة التشغيل التلقائي ويمكن تمكينه للبدء في تمهيد النظام ، مما يسمح بذلك توافر عالية (HA) التكوينات أو البنى.
على وجه الخصوص ، PM2 يسمح لك بتشغيل تطبيقاتك بتنسيق وضع الكتلة دون إجراء أي تغييرات في التعليمات البرمجية الخاصة بك (هذا يعتمد أيضًا على عدد نوى وحدة المعالجة المركزية على الخادم الخاص بك). كما يسمح لك بإدارة سجلات التطبيقات بسهولة وغير ذلك الكثير.
بالإضافة إلى ذلك ، لديها أيضًا دعمًا لا يصدق للتخصصات Node.js أطر مثل تعبير عن, Adonis Js, أشرعة, حابي وأكثر من ذلك ، دون الحاجة إلى أي تغييرات في التعليمات البرمجية. PM2 يتم استخدامه من قبل شركات مثل آي بي إم, مايكروسوفت, باي بال، و اكثر.
في هذه المقالة ، سنشرح كيفية التثبيت والاستخدام PM2 يهرب Nodejs التطبيقات في خادم إنتاج Linux. سننشئ تطبيقًا لعرض بعض الميزات الأساسية لـ PM2 لكي تبدأ في استخدامه.
1. لتثبيت أحدث إصدار من Node.js و NPM، تحتاج أولاً إلى تمكين مستودع NodeSource الرسمي ضمن توزيع Linux الخاص بك ثم التثبيت Node.js و NPM الحزم كما هو موضح.
قم بتثبيت Node.js v11.x. $ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash - sudo apt-get install -y nodejs قم بتثبيت Node.js v10.x. $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs.
قم بتثبيت Node.js v11.x. $ curl -sL https://rpm.nodesource.com/setup_11.x | باش - قم بتثبيت Node.js v10.x. $ curl -sL https://rpm.nodesource.com/setup_10.x | باش -
2. الآن ، دعنا ننشئ تطبيق اختبار (سنفترض أنه يحتوي على جانب العميل والمسؤول اللذين يشتركان في نفس قاعدة البيانات) ، سيتم تشغيل الخدمات المصغرة على المنافذ 3000، و 3001 على التوالى.
$ sudo mkdir -p / var / www / html / app. $ sudo mkdir -p / var / www / html / adminside. sudo vim /var/www/html/app/server.js $. sudo vim /var/www/html/adminside/server.js $.
بعد ذلك ، انسخ وألصق الأجزاء التالية من التعليمات البرمجية في ملف server.js
الملفات (استبدل 192.168.43.31 مع خادم IP الخاص بك).
## كود mainapp const http = تتطلب ('http') ؛ اسم مضيف const = '192.168.43.31' ؛ منفذ const = 3000 ؛ خادم const = http.createServer ((req، res) => {res.statusCode = 200 ؛ res.setHeader ("نوع المحتوى"، "نص / عادي")؛ res.end ('هذا هو التطبيق الرئيسي! \ n')؛ }); server.listen (المنفذ ، اسم المضيف ، () => {console.log (`الخادم قيد التشغيل في http://${hostname}:${port}/`); }); ## كود adminside const http = تتطلب ('http') ؛ اسم مضيف const = '192.168.43.31' ؛ منفذ const = 3001 ؛ خادم const = http.createServer ((req، res) => {res.statusCode = 200 ؛ res.setHeader ("نوع المحتوى"، "نص / عادي")؛ res.end ('This is the Admin Side! \ n')؛ }); server.listen (المنفذ ، اسم المضيف ، () => {console.log (`الخادم قيد التشغيل في http://${hostname}:${port}/`); });
احفظ الملف واخرج.
3. أحدث إصدار مستقر من PM2 متاح للتثبيت عبر NPM كما هو مبين.
$ sudo npm i -g pm2
4. ذات مرة PM2 مثبتة ، يمكنك بدء تطبيقات العقدة الخاصة بك باستخدام الأوامر التالية.
sudo node $ /var/www/html/app/server.js. sudo node $ /var/www/html/adminside/server.js.
لاحظ أنه في بيئة الإنتاج ، يجب أن تبدأ باستخدام ملفات PM2، كما هو موضح (قد لا تحتاج الأمر sudo إذا تم تخزين التطبيق الخاص بك في موقع حيث قرأ المستخدم العادي أذونات القراءة والكتابة).
$ sudo pm2 start /var/www/html/app/server.js. sudo pm2 $ start /var/www/html/adminside/server.js.
5. لبدء تطبيق في وضع الكتلة باستخدام ملف -أنا
علم لتحديد عدد المثيلات ، على سبيل المثال.
$ sudo pm2 start /var/www/html/app/server.js -i 4 $ sudo pm2 scale 0 8 # مقياس التطبيق العنقودي إلى 8 عمليات.
6. لسرد جميع تطبيقات العقدة (العملية / الخدمات المصغرة) ، قم بتشغيل الأمر التالي.
قائمة $ sudo pm2.
7. لمراقبة السجلات ، والقياسات المخصصة ، ومعالجة المعلومات من جميع العمليات عن طريق تشغيل الأمر التالي.
$ sudo pm2 monit.
8. لعرض تفاصيل عملية عقدة واحدة كما هو موضح ، باستخدام معرف العملية أو الاسم.
$ sudo pm2 عرض 0.
9. فيما يلي قائمة ببعض أوامر الإدارة الشائعة (الفردية أو جميعها) التي يجب أن تأخذها في الاعتبار.
sudo pm2 $ توقف كل # إيقاف جميع التطبيقات. $ sudo pm2 stop 0 #stop العملية بالمعرف 0. $ sudo pm2 أعد تشغيل جميع # إعادة تشغيل جميع التطبيقات. $ sudo pm2 إعادة تعيين 0 # إعادة تعيين جميع العدادات. sudo pm2 $ احذف جميع #kill وأزل جميع التطبيقات. sudo pm2 $ احذف 1 #kill واحذف التطبيق بالمعرف 1.
10. لإدارة سجلات التطبيق ، استخدم الأوامر التالية.
$ sudo pm2 logs #view logs for all process $ sudo pm2 logs 1 #view logs for app 1. سجلات $ sudo pm2 - سجلات json #view لجميع العمليات بتنسيق JSON. sudo pm2 flush # مسح جميع السجلات.
11. لإدارة عملية PM2 ، استخدم الأوامر التالية.
$ sudo pm2 startup #enable PM2 للبدء في تمهيد النظام. $ sudo pm2 startup systemd # أو حدد بشكل صريح systemd كنظام بدء التشغيل $ sudo pm2 حفظ # حفظ قائمة العمليات الحالية عند إعادة التشغيل. $ sudo pm2 unstartup #disable PM2 من بدء تشغيل النظام. $ sudo pm2 update #update PM2 package.
12. للوصول إلى جميع تطبيقات العقدة الخاصة بك من مستعرض ويب بعيد ، تحتاج أولاً إلى فتح المنافذ التالية على جدار حماية النظام الخاص بك ، للسماح باتصالات العميل بالتطبيقات كما هو موضح.
دبيان وأوبونتو sudo ufw $ 3000 / tcp. sudo ufw $ 3001 / tcp. sudo ufw إعادة تحميل RHEL و CentOS # جدار الحماية - cmd - دائم - منفذ إضافة = 3000 / tcp. # جدار الحماية - cmd - دائم - منفذ إضافة = 3001 / tcp. # جدار الحماية - cmd - إعادة تحميل
13. ثم قم بالوصول إلى تطبيقاتك من متصفح الويب باستخدام عناوين URL التالية:
http://198.168.43.31:3000. http://198.168.43.31:3001
اخيرا وليس اخرا، PM2 هو نظام نموذجي بسيط مدمج لتوسيع قدراته الأساسية ، وتشمل بعض الوحدات pm2-logrotate و pm2-webshell و pm2-server-monit والمزيد - يمكنك أيضًا إنشاء واستخدام وحدات.
لمزيد من المعلومات ، انتقل إلى مستودع PM2 GitHub: https://github.com/Unitech/PM2/.
هذا كل شئ! PM2 هو مدير عمليات متقدم وفعال على مستوى الإنتاج لـ Node.js مع موازن تحميل مدمج. في هذه المقالة ، أوضحنا كيفية تثبيت واستخدام PM2 لإدارة تطبيقات Nodejs في Linux. إذا كان لديك أي استفسارات ، أرسلها لاستخدامها عبر نموذج التعليق أدناه.