ما هو PM2؟
PM2 (Process Manager 2) هو مدير عمليات متقدم لتطبيقات Node.js، يوفر إمكانيات مدمجة للمراقبة وإعادة التشغيل التلقائي وموازنة التحميل. يتيح لك تشغيل تطبيقات JavaScript في بيئة الإنتاج، وتتبع حالتها، وجمع مقاييس الأداء، وإدارة عمليات متعددة في وقت واحد.
لماذا نحتاج إلى المراقبة؟
في بيئة الإنتاج، من المهم للغاية معرفة ما يحدث للتطبيق: هل تعطل؟ هل تجاوز استهلاك الذاكرة؟ هل تظهر أخطاء؟ يحل PM2 هذه المشكلات من خلال توفير:
- إعادة التشغيل التلقائي عند الأعطال
- جمع مقاييس CPU و RAM
- تسجيل stdout/stderr
- واجهة ويب مدمجة للمراقبة (PM2 Plus)
التثبيت
قم بتثبيت PM2 عالميًا عبر npm:
npm install -g pm2الوظائف الأساسية
- تشغيل التطبيق:
pm2 start app.js - المراقبة في الوقت الفعلي:
pm2 monit - عرض قائمة العمليات:
pm2 list - السجلات:
pm2 logs - لوحة الويب:
pm2 plus(يتطلب التسجيل)
مثال على كود JavaScript (Node.js)
قم بإنشاء تطبيق بسيط app.js:
const http = require('http');const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello from PM2!');});
server.listen(3000, () => { console.log('Server running on port 3000');});قم بتشغيله مع المراقبة:
pm2 start app.js --name my-apppm2 monitسترى في وحدة التحكم رسومًا بيانية حية لاستهلاك الذاكرة و CPU، بالإضافة إلى عدد مرات إعادة التشغيل.
متى تستخدمه
PM2 مثالي لـ:
- خوادم Node.js في بيئة الإنتاج
- الهياكل المعمارية للخدمات المصغرة
- التطبيقات التي تتطلب استردادًا تلقائيًا بعد الأعطال
- الحالات التي تحتاج فيها إلى مراقبة بسيطة دون خدمات خارجية
الخلاصة
PM2 هو أداة لا غنى عنها لأي مطور Node.js يرغب في ضمان تشغيل مستقر لتطبيقاته. إنه سهل التثبيت، ولا يتطلب إعدادات معقدة، ويوفر جميع الوظائف اللازمة لمراقبة العمليات وإدارتها.