4 מנהלי תהליכים עבור אפליקציות Node.js בלינוקס

A Node.js process manager is a useful tool to ensure that a Node.js process or script runs continuously (forever) and can enable it to auto-start at system boot.

זה מאפשר לך לצפות בשירותים שפעלים וזה מקל על משימות ניהול מערכת נפוצות (כגון איתור שגיאות, עצירת, טעינה מחדש של תצורות ללא זמן ריצה, שינוי משתני סביבה/הגדרות, הצגת מדדי ביצועים ועוד הרבה יותר). הוא תומך גם בלוגים של אפליקציות, אשכולות ואיזון משאבים, ועוד הרבה יכולות ניהול תהליכים שימושיות.

קרא גם: 14 מסגרות NodeJS הטובות ביותר עבור מפתחים ב-2019

A package manager is useful especially for deployment of Node.js applications in a production environment. In this article, we will review four process managers for Node.js application management in a Linux system.

1. PM2

PM2 הוא מנהל תהליכים לרמת הייצור, פתוח, מתקדם, עשיר בתכונות, צולב פלטפורמה והכי פופולרי עבור Node.js עם מאזן מעמד מובנה. זה מאפשר לך לרשום, לצפות ולפעול על כל התהליכים של Nodejs שהושקו, והוא תומך במצב אשכול.

Install PM2 to Run Nodejs Apps in Linux

זה תומך במעקב אחרי היישומים: מציע דרך פשוטה למפוקח על שימוש במשאבים (זיכרון ומעבד) של היישום שלך. הוא תומך בתהליך הניהול שלך על ידי שיהוי וכיוון התנהגות של כל היישום דרך קובץ תהליך (פורמטים נתמכים כוללים Javascript, JSON, ו- YAML).

יומני היישום תמיד מרכזיים בסביבת הייצור, ובמקרה זה PM2 מאפשר לך לנהל בקלות את יומני היישום שלך. הוא מספק דרכים ופורמטים שונים לטיפול ותצוגה של יומנים בהתאם. ניתן להציג יומנים בזמן אמת, לנקות אותם, ולטעון אותם מחדש כאשר נדרש.

באופן חשוב, PM2 תומך בסקריפטי הפעלה שבאפשרותך להגדיר כך שייתחילו באופן אוטומטי את התהליכים שלך במהלך האתחולים הצפויים או הבלתי צפויים של המכונה. הוא גם תומך באתחול אוטומטי של אפליקציה כאשר קובץ משתנה בתיקיית הנוכחית או בתתי-תיקיות שלה.

בנוסף, PM2 מגיע עם מערכת מודולים שמאפשרת למשתמשים ליצור מודולים אישיים עבור ניהול תהליכי Nodejs. לדוגמה, אפשר ליצור מודול לסיבובי יומן או לאיזון משאבים, ועוד רבות.

לבסוף, אם אתה משתמש ב-מכולות Docker, PM2 מאפשר שילוב עם מכולות, ומציע מערכת API שמאפשרת לך להשתמש בו באופן תוכנתי.

2. StrongLoop PM

StrongLoop PM הוא גם הנה יצרן, מנהל תהליכי ייצור מתקדם ופתוח ליישומים של Node.js עם איזון משאבים מובנה כמו PM2 וניתן להשתמש בו באמצעות ממשק שורת פקודה או ממשק גרפי.

StrongLoop PM Process Manager for Nodejs

הוא תומך בניטור אפליקציות (צפייה במדדי ביצועים כמו זמני לולאת אירוע, שימוש ב-CPU ובזיכרון), פרסום מרכזי, הפעלה במצב קבוצתי, איפשור שחזור ושדרוגי אפליקציה ללא זמן ריק, הפעלת תהליכים אוטומטית מחדש במקרה של כשל, וגיבוב וניהול יומניות.

בנוסף, הוא מגיע עם תמיכה ב-Docker, מאפשר ייצוא של מדדי ביצוע לשרתים תואמי StatsD וצפייה בהם בקונסולות של צד שלישי כמו DataDog, Graphite, Splunk וגם Syslog וקבצי יומן גולמיים.

3. לעד

Forever הוא כלי שורת פקודה פתוח, פשוט וניתן להגדרה כדי להפעיל סקריפט נתון באופן רציף (לעד). הוא מתאים להפעלת פיתוחים קטנים של אפליקציות וסקריפטים ב- Node.js. ניתן להשתמש ב- Forever בשני דרכים: דרך שורת הפקודה או על ידי הטמעה בקוד שלך.

Forever Run Scripts Continuously

והיא מאפשרת לך לנהל (להתחיל, לרשום רשימה, להפסיק, להפסיק את כל, להתחדש, להתחדש את כל, ועוד…) תהליכי Node.js והיא תומכת ב מעקב אחר שינויי קובץ, במצב הבדיקה, בלוגים של היישומים, הרגת תהליך והתאמה לאותו אות יציאה, והרבה דברים נוספים. בנוסף, היא תומכת בכמה אפשרויות שימוש שניתן להעבירן ישר מהשורה הפקודה או בקביעות קובץ JSON.

4. SystemD – מנהל שירותים ומנהל מערכת

בLinux, Systemd הוא דיאמון שמנהל משאבים מערכת כמו תהליכים ואחר רכיבים מהמערכת הקירבים. כל משאב שננהל על-ידי systemd נקרא יחידה. ישנם סוגים שונים של יחידות כולל שירות, התקן, סוכת, מאגר, מטרה והמון יחידות אחרות.

Systemd מנהל יחידות בעזרת קובץ ההגדרות הידוע כקובץ יחידה. לכן, על מנת לנהל את השרת Node.js שלך כמו כל שירותים מערכת, צריך ליצור קובץ יחידה עבורו, שבמקרה יהיה קובץ שירות.ברגע שיוצאת קובץ השירות עבור השרת Node.js שלך, ניתן להתחיל אותו, לאפשר לו להתחיל בעצמה בזמן ההתחלה של המערכת, לבדוק את מצבו, להתחדש (להפסיק ולהתחיל מחדש), לרענן את ההגדרות שלו או אפילו להפ

פעם יש לך יצר קובץ שירות עבור Node.js שרת שלך, אתה יכול להתחיל אותו, לאפשר לו להתחיל באופן אוטומטי בזמן התחלת מערכת, לבדוק את מצבו, להפעיל מחדש (לעצור ולהתחיל אותו שוב) או לטעון מחדש את הפרוטוקול שלו, ואפילו לעצור אותו כמו כל שירותי systemd אחרים.

למידע נוסף, ראה: איך ליצור ולרוץ יחידות שירות חדשות ב-Systemd באמצעות תסריט של Shell

סיכום

A Node.js package manager is a useful tool for deploying your project in a production environment. It keeps an application alive forever and simplifies how you can control it. In this article, we reviewed four package managers for Node.js. If you have any additions or questions to ask, make use of the feedback form below to reach us.

Source:
https://www.tecmint.com/process-managers-for-node-js-applications-in-linux/