
08 مرداد 1404 / 768 بازدید / 5 دقیقه
توی این مقاله قراره با هم با روش انتشار اپلیکیشن های توسعه داده شده با فریمورک NEXT.js با استفاده از PM2 بر روی سرور شخصی آشنا بشیم.
داشتن پروژه آماده انتشار NEXT.js و یک سرور VPS شخصی که من آموزش کانفیگ کردنش رو در این مقاله توضیح دادم.
شما برای اینکه بتونید پروژه خودتون رو روی سرور اجرا کنید به یک Process Management احتیاج دارید. به این معنا که با استفاده از ابزاری بتونید مدیریت و تضمین اجرای همیشگی این پروژه رو سرور رو پیاده کنید. PM2 که یک پکیج NPM هست دقیقا همون ابزاری هست که بهتون توی مدیریت و اجرای پروژه هاتون کمک میکنه.
برای نصب PM2 دستور زیر رو در ترمینال VPS اجرا کنید:
npm I pm2 -g
بعد از نصب پکیج برای اطمینان از کامل شدن پروسه نصب دستور زیر رو اجرا کنید و درصورتی که فرایند نصب با موفقیت انجام شده باشد ورژن برنامه رو خواهید دید:
pm2 –version
در مرحله بعد برای اضافه کردن پروژه NEXT.js آماده انتشار به pm2 با دستور زیر به دایرکتوری پروژه وارد میشویم(این مرحله الزامی نیست و شما در زمان اجرای دستور اضافه کردن پروژه به pm2 میتونید مسیر پروژه رو تعیین کنید):
cd /path/to/your/project
پروژه رو برای انتشار با دستور زیر بیلد میکنیم:
npm run build
برای اضافه کردن پروژه به PM2 نیاز هست تا برای پروژه نامی در نظر گرفته شود و همچنین پورتی که میخوایم پروژه روی اون منتشر شود رو مشخص کنیم. )توجه کنید که این پورت بعدا توسط Reverse Proxy مثل NGINX استفاده خواهد شد(. با اجرای دستور زیر پروژه مورد نظر ما به PM2 اضافه خواهد شد:
توجه: به طور پیش فرض pm2 پروژه رو به صورت fork تعریف خواهد کرد. برای تعریف پروژه دو حالت fork و cluster وجود دارد. اگر پروژه نیازمند حجم زیادی از CPU خواهد بود نیاز هست که شما اون رو به صورت cluster تعریف کنید. برای اطلاعات بیشتر میتونید به مستندات pm2 مراجعه کنید.
اگر تریمنال به دایرکتوری پروژه اشاره دارد:
pm2 start npm –name <name> -- run start -- -p <port>
اگر ترمینال به دایرکتوری پروژه اشاره ندارد:
pm2 start npm –name <name> --cwd /path/to/your/project – run start -- -p <port>
بعد از اجرای این دستور جدول لیست پروژه ها نمایش داده خواهد شد و اگر پروژه شما با خطا مواجه نشده باشد در قسمت ستون status شما عبارت online رو با رنگ سبز خواهید دید.
در ادامه برای ذخیره شدن پروژه دستور زیر را اجرا کنید:
pm2 save
برای اطمینان از اینکه پروژه های شما توسط pm2 همیشه در حال اجرا باشد نیاز داریم تا تنظیماتی رو اعمال کنیم که با هر بار راه اندازی سرور PM2 نیز به طور خودکار اجرا شود. در صورتی که این تنظیمات رو اعمال نکنید و سرور دوباره راه اندازی شود (بروز رسانی یا قطع برق سرور یا هر دلیل دیگه ای که موجب دوباره راه اندازی شدن سرور شود) PM2 نیاز هست که به صورت دستی راه اندازی گردد.
pm2 startup
با اجرا کردن این دستور خروجی زیر نمایش داده میشود:
[PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=ATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
دستور بعد از command: را کپی و در ترمینال اجراکنید.
شما میتوانید با اجرای یکی از دستورات زیر لیست پروژه های خود را در pm2 مشاهده کنید:
pm2 [list | ls | status]
جدول نمایش داده شده شامل 7 ستون خواهد بود که توضیحات هر ستون رو در ادامه خواهم داد:
همچنین شما میتوانید با جرای دستور زیر اطلاعات بیشتری راجب پروژه های اجرا شده روی Pm2 کسب کنید:
pm2 monit
در این مقاله نحوه انتشار پروژه NEXT.js رو با استفاده از pm2 بررسی کردیم. به طور کلی pm2 راه حل ساده ای برای اجرای پروژ های مقیاس کوچک در اکوسیستم NPM ارائه میدهد و یادگیری آن به نسبت ابزارهای دیگر نیازمند صرف زمان کمتری خواهد بود.