چرا نباید در لیارا از PM2 و یا Nodemon و Forever استفاده کنیم!


۲۳ اسفند ۱۳۹۷

احتمالا شما هم مانند سایر برنامه‌نویس‌های JavaScript از یکی از ابزارهای بروزرسانی خودکار برنامه‌ی‌تان استفاده می‌کنید. این ابزار ها در اجرای برنامههای NodeJS در سمت کاربر یا سرور نقشی اساسی دارند. اما در سرویس ابری لیارا اکیدا توصیه می‌کنیم که از هیچ‌کدام از این ابزارها استفاده نکنید. شاید سادگی زیباتر است 🙂

node app.js

خب، پس از این مقدمه کوتاه بیایید نگاهی دقیق‌تر به کاربردهای این ابزارهای محبوب بیندازیم. بیشترین استفاده های این ابزار ها برای موارد زیر است:

  • بروزرسانی خودکار مرورگر
  • بروزرسانی برنامه پس از تغییر کدهای برنامه
  • تلاش برای اجرای دوباره برنامه پس از دریافت خطا و بسته‌شدن ناگهانی آن
  • استفاده برای مانیتور کردن منابع مصرفی برنامه
  • کلاسترکردن برنامه و افزایش سرعت

همان‌طور که مشاهده می‌کنید، اکثر این کاربری‌ها در زمان توسعه‌ی نرم‌افزار کاربردی هستند و در زمان اجرای برنامه برای کاربران نهایی‌مان و یا همان نسخه‌ی production برنامه، نیازی به این امکانات نداریم و بیشتر باعث کندشدن برنامه می‌شوند.

هر بار که برنامه‌ی‌تان را روی سرورهای لیارا مستقر می‌کنید، به‌صورت خودکار به‌روز شده و restart می‌شود. نکته‌ی جذاب‌تر این است که هر زمان برنامه‌ی‌تان با یک خطای کنترل نشده مواجه شود و اصطلاحا crash کند، لیارا به صورت خودکار برنامه را ری‌استارت می‌کند تا برنامه‌ی‌تان پاسخ‌گوی کاربران‌تان باشد. در این زمان می‌توانید با خیال راحت لاگ‌های برنامه را از داشبورد لیارا مشاهده کنید و خطا را رفع کنید. ضمنا لیارا گزارشات منابع مصرفی برنامه‌ی‌تان را در اختیارتان قرار می‌دهد. به‌زودی هم قابلیت کلاسترکردن برنامه به پنل لیارا اضافه می‌شود.

با این شرایط، همیشه بهتر است که اسکریپت start تان، یک node app.js ساده باشد.

اما برای محیط توسعه چه کنیم؟ در هر حال، در محیط توسعه به این ابزارها نیاز داریم. برای حل این مشکل، می‌توانید یک اسکریپت دیگر با نام دلخواه‌تان به لیست اسکریپت‌ها در فایل package.json برنامه‌ی‌تان اضافه کنید و از ابزار دلخواه‌تان برای سرو کردن برنامه استفاده کنید.

// package.json

{
  "scripts": {
    "start": "node app.js",
    "dev": "nodemon app.js"
  }
}

در مثال بالا مشاهده می‌کنید که از ۲ اسکریپت برای اجرای برنامه در محیط‌های توسعه و پروداکشن استفاده شده‌است. لیارا از دستور npm start برای اجرای برنامه استفاده خواهد کرد و شما برای محیط توسعه‌ی‌تان می‌توانید از npm run dev استفاده کنید که برنامه را با Nodemon اجرا خواهد کرد.

برچسب‌ها:

خدمات رایگان لیارا

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

هاست رایگان برای دیتابیس‌

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید و فقط برای بیش از آن هزینه پرداخت کنید. (به‌همراه دسترسی SMTP)

هاست رایگان برای انواع وبسایت

تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

توسعه‌دهندگان درباره‌ی ما چه می‌گویند

تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...

MohammadReza
liara testimonial
keikaavousi

بعد از بسته شدن @fandoghpaas و ناراحتی همه‌مون از اینکه یه سرویس خوب و صادق نمی‌تونه از پس هزینه‌ها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوت‌هایی داشت که کمی کار می‌خواست ولی تا الان کاملا راضی.

jadi
liara testimonial
jadi

یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.

Arch
liara testimonial
EbadiDev

واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیت‌های سرویس دیتابیس‌شون اینه که خودشون به صورت دوره‌ای بکآپ میگیرن.
...

Ali Najafi
liara testimonial
me_ali_najafi

یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@

Navid
liara testimonial
1navid

عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم

Amir H Shekari
liara testimonial
vanenshi