پرش به مطلب اصلی

استقرار چندین پروژه (PM2) در NodeJs


در این بخش می خواهیم آموزش نحوه استقرار چندین پروژه (PM2) را در هاست نود جی اس NodeJS به شما آموزش دهیم.

گاهی اوقات نیاز است تا چندین پروژه Nodejs را داخل یک سرویس استقرار دهید و از آن ها استفاده کنید. البته که اینکار از نظر ما یعنی پلتفرم ابری چابکان در برنامه های Production کار صحیحی نیست اما شما این امکان را دارد که با استفاده از ابزار PM2 اینکار را انجام دهید.

PM2 چیست

PM2 یک ابزار کاربردی برای Nodejs می باشد که به شما کمک می کند برنامه های نوشته با Nodejs را اجرا و مدیریت کنید. برای نصب PM2 کافیست دستور زیر را در محیط کنسول سیستم عامل خود وارد نمایید:

npm install -g pm2

تنظیمات PM2 در سرویس

برای اجرا چندین پروژه با استفاده PM2 ابتدا باید یک دایرکتوری ایجاد نمایید و سپس فایل با نام ecosystem.config.js برای قرار دادن تنظیمات PM2 ایجاد نمایید. بعد از ایجاد فایل تنظیمات، باید دایرکتوری پروژه های خود را به دایرکتوری ایجاد شده درکنار فایل تنظیمات PM2 انتقال دهید.

سپس مانند نمونه زیر می توانید فایل ecosystem.config.js را تنظیم نمایید:

module.exports = {
apps : [
{
name : "nameofapplication1",
cwd : "./pathtoapplcation1",
script: "npm",
args: "start",
env:{
NODE_ENV: "production"
}
},
{
name : "nameofapplication2",
cwd: "./pathtoapplication2",
script: "npm",
args: "start",
env: {
NODE_ENV: "production"
}
}
]
}

اجرا PM2 با سرویس

اگر تمام مراحل ذکر شده را به درستی انجام داده باشید، حالا می توانید با دستور زیر تمام برنامه های خود را اجرا نمایید:

pm2 start ecosystem.config.js

تنظیمات استقرار روی چابکان

برای استقرار برنامه های PM2 روی چابکان ابتدا باید با تنظیم متغییر محیطی START_COMMAND در تنظیمات سرویس دستور اجرا سرویس را به دستور موردنظر خود تغییر دهید:

# name : value
START_COMMAND : "pm2 start ecosystem.config.js"

تمام دستورات PM2 در کنسول چابکان با استفاده از sudo قابل اجرا هستند.

مشکلات احتمالی

در صورت برخورد با ارور Not Found package.json file in /app میتوانید یک فایل package.json ساده داخل پروژه خود قرار دهید تا برنامه به درستی شناسایی شود.

مستند استقرار چندین پروژه (PM2) در سرویس Nodejs