راهنمای رفع خطای 503 پروژههای نود جی اس
راهنمای رفع خطای 503
سرویس هاست نود جی اس ارائه شده توسط پارس وب سرور، یکی از بهترین گزینهها برای راهاندازی پروژهها و فریمورکهای نود جی اس میباشد. قسمت nodejs application توسط تیم توسعه پارس وب سرور طراحی و توسعه داده شده است.
با کمک این بخش، به راحتی قادر خواهید بود پروژههای خود را دپلوی و راه اندازی کنید.
برای خرید هاست nodejs میتوانید به صفحه ی خرید هاست نود جی اس مراجعه کنید و تعرفه هاست نود جی اس پارس وب سرور را بررسی کنید.
هاست نود جی اس از هر دو لوکیشن ایران و آلمان قابل تهیه و خریداری میباشد. امکان راه اندازی وب سوکت برای این پروژهها وجود دارد.
بعد از خرید هاست ، میتوانید با استفاده از آموزش راه اندازی پروژه NodeJS پروژه خود را به راحتی راهاندازی کنید.
رفع ارور 503 پروژههای نود جی اس
برخلاف سایر اسکریپتها و سیستمهای مدیریت محتوا (cms) مانند وردپرس و یا لاراول و جنگو که دارای دیباگ کامل و آسان هستند و دقیقا محل ارور و حتی راهنمایی برای رفع ارور را – در صورت فعال بودن دیباگ (debug) – نمایش میدهند، در نود جی اس در بخش فرانت اند، فقط یک ارور 503 نمایش داده میشود و خبری از هیچ نوع اطلاعات و یا دیباگی نیست، به این معنی که در فرانت اند، اطلاعات خطای پروژه نمایش داده نمیشود.
برای دیباگ پروژههای نود جی اس باید در ترمینال دستور زیر را را وارد کنیم.
pm2 logs yourdomain.com
* به جای yourdomain.com
باید نام دامنه و یا ساب دامنه استفاده شده در پروژه جایگزین شود.
با این دستور و با کمک پکیج pm2، لاگهای مربوط به پروژه در ترمینال نمایش داده میشود و اگر خطایی در پروژه، وجود داشته باشد، در لاگ پروژه قابل مشاهده و بررسی است.
برای بررسی خطای 503، باید در ترمینال دستور pm2 logs را به همراه نام دامنه و یا سابدامنه پروژه وارد کنیم تا لاگ پروژه را مشاهده کنیم.
در پست آموزشی (pm2 چیست و چه کاربردی در پروژههای nodejs دارد؟) می توانید لیست دستورات قابل استفاده pm2 و توضیحات مربوط به هر کدام را مشاهده کنید و برای دباگ پروژههای نود جی اس خود از آن، استفاده کنید.
عموما ارورهای نمایش داده شده در دباگ پروژه های نود جی اس، کوتاه و مختصر میباشد و اطلاعات کاملی در مورد خطای موجود در پروژه ارائه میدهد.
قبل از مرور خطاهای رایج در نود جی اس، با گزینه ها و قسمت های مختلف صفحه ایجاد و مدیریت پروژه در قسمت nodejs application آشنا میشویم.
مدیریت پروژه در قسمت nodejs application
با کلیک بر روی گزینه nodejs application در سی پنل، وارد صفحه جدیدی خواهیم شد که امکات تعریف و مدیریت پروژههای نودجی اس ایجاد شده را خواهیم داشت.
در ادامه با توجه به شکل زیر، جزئیات و توضیحات مربوط به هر یک از گزینهها و آیکنها را مرور می کنیم.
- در این قسمت، ورژن نود جی اس نمایش داده شده است که در حال حاضر، پروژههای نود جی اس روی این نسخه از نودجی اس در حال اجرا هستند.
- از لیست بازشونده، امکان تغییر نسخه nodejs وجود دارد و بعد از انتخاب و کلیک بر روی setup ورژن جدید نصب و راه اندازی میشود. قبل از تغییر ورژن، اطمینان حاصل کنید پروژه شما با ورژن انتخابی سازگار است و مشکل و خطایی اتفاق نمیافتد.
- محل راه اندازی و ذخیره شدن فایلهای پروژه را نشان میدهد. توجه داشته باشید بهترین محل برای ایجاد فولدر پروژه، روت اصلی هاست میباشد.
در صورت ساختن فولدر پروژه در فولدر public_html و یا فولدر سابدامنه یا فولدر ادان دامنه، ممکن است پروژه با خطای 503 مواجه شود. - نام دامنه و یا سابدامنه مربوط به پروژه میباشد و اگر پروژه مربوط به فرنت اند باشد، با کلیک در مرورگر، فرانت اند پروژه نمایش داده میشود.
ذکر این نکته ضروری است که برای پروژههای ریاکت نیازی به ایجاد پروژه نیست و صرفا باید در لوکال بیلد گرفته شود و بر روی فولدر دامنه، آپلود و اکسترکت شود. - وضعیت پروژه را نشان می دهد که می تواند دو حالت (stop-start) داشته باشد، در برخی موارد نیاز است که برای مشاهده تغییرات و راهاندازی مجدد پروژه یا در صورت کرش کردن پروژه، پروژه استاپ/استارت شود.
- با کلیک بر روی این آیکن، یک پنجره پاپ آپ باز می شود که کد pm2 log مربوط به پروژه را میتوانیم کپی کنیم و در کامند لاین ترمینال اجرا کنیم تا لاگ پروژه را مشاهده و خطاهای پروژه را بررسی کنیم.
- دکمه استاپ/استارت پروژه است که با کلیک بر روی این دکمه، پروژه متوقف و با کلیک مجدد استارت میشود.
- با کلیک بر روی دکمه رستارت پروژه، پروژه نودجی اس رستارت میشود.
برای مشاهده تغییرات، باید بر روی این دکمه کلیک شود تا تغییرات جدید را در پروژه مشاهده و بررسی کنیم. - دکمه ویرایش پروژه، با کلیک بر روی این قسمت (آیکن قلم) صفحه جدیدی باز میشود که میتوان برخی تنظمیات اصلی پروژه را تغییر داد.
- با کلیک بر روی این گزینه، پروژه حذف میشود، البته فولدر و فایلهای پروژه بر روی هاست باقی میماند.
تست فعال بودن پروژه بر روی هاست
برای اینکه مطمئن شویم پروژه ما بر روی هاست قرار دارد و به فولدر پروژه متصل است یا خیر، یک بار پروژه را با کلیک بر روی دکمه stop متوقف میکنیم.
با متوقف شدن پروژه با زدن دامنه و یا سابدامنه پروژه در مرورگر، فایلهای پروژه و صفحه ایندکس شامل لیست فایلهای پروژه نمایش داده میشود.
این مورد به خصوص در مورد سرویسهایی که سرور آنها منتقل و جابجا شده است و یا در مورد دامنههایی که dns آنها ست نشده است، به ما کمک میکند که مطمئن شویم که پروژه ما بر روی فولدر مورد نظر ما ایجاد شده است و بعد از تست، دوباره پروژه را استارت می کنیم.
اگر با استاپ پروژه، با زدن دامنه هیچ تغییری ایجاد نشد، ممکن است dnsها برای دامنه به درستی ست نشده باشد و اگر به تازگی تنظیم شده باشد، نیاز به زمان بیشتری باشد تا ست شود.
همینطور میتوانیم لیست پروسس های در حال اجرا را در ترمینال سی پنل مشاهده و بررسی کنیم که با دستور top قابل انجام است.
برای اطلاعات بیشتر میتوانید پست زیر را مشاهده بفرمایید(راهنمای دستور top در ترمینال سی پنل)
برخی از نکات مهم در راهاندازی پروژههای نودجی اس که ممکن است باعث خطا در پروژه شود را مرور میکنیم :
اشتباه ساختن ساب دامنه در فولدر public_html
فولدر ساب دامنهها باید در روت اصلی هاست ساخته شوند. البته در سی پنل امکان ساخت ساب دامنه در فولدر public_html وجود دارد اما در صورتی که تغییراتی در فایل htaccess دامنه اصلی به وجود آید و یا پروژه ای بر روی دامنه اصلی داشته باشیم، پروژه ای که فولدر ساب دامنه آن در public-html قرار دارد قطعا با خطا مواجه می شود.
یا در برخی هاست ها که کاربران اقدام به نصب وردپرس در دامنه اصلی میکنند و یا پروژههای لاارولی و پایتون بر روی دامنه اصلی راه اندازی می شود، در این صورت باید حتما فولدر ساب دامنه در خارج از فولدر public_html و در روت اصلی هاست باشد.
انتخاب ورژن نود جی اس
در سرویس هاست nodejs ، در قسمت نود جی اس اپلیکیشن امکان انتخاب ورژنهای مختلف نود جی اس از ورژن 12.22 تا نسخه 23.3 وجود دارد.
بر اساس اسکریپتی که قصد راه اندازی آن را داریم و یا پروژه ای که راه اندازی میشود، باید ورژن مناسب از این قسمت انتخاب شود.
برای آگاهی از ورژن مناسب برای راه اندازی پروژه، بهترین منبع و مرجع داکیومنتهای اسکریپت و یا فریمورک مورد نظر است که اطلاعات کامل و جامعی در مورد نسخه مورد نیاز و همینطور روش راهاندازی را می توان به دست آورد.
البته در صورتی که ورژن نادرستی انتخاب شود، برای فریمورکهای نودجی اس، در لاگ پروژه nodejs، این مورد و مناسب نبودن ورژن نودجی اس نمایش داده می شود.
با اصلاح ورژن نودجی اس، خطای 503 رفع و پروژه در دسترس قرار میگیرد.
پاک شدن فایل و یا تغییر htaccess
در زمان راه اندازی پروژه نودجی اس یک فایل htaccess در فولدر دامنه و یا سابدامنه پروژه ایجاد می شود که دارای کد زیر است و پورت پروژه را مشخص می کند.
اگر برای یک سابدامنه چندین بار پروژه را حذف و مجدد ایجاد کنید ممکن است، در هر بار ایجاد کد جدید با پورت جدید به انتهای کد فایل htaccess اضافه می شود.
وقتی روی ویرایش فایل htaccess کلیک میکنیم، در این فایل با کدهایی که با پورتهای مختلف تکرار شدهاند، مواجه میشویم.
# DO NOT REMOVE. PARSWEBSERVER DEVELOPER CONFIGURATION BEGIN
RewriteEngine On
RewriteRule ^/?(.*)$ http://127.0.0.1:3504/$1 [P,L]
# DO NOT REMOVE. PARSWEBSERVER DEVELOPER CONFIGURATION END
در این مواقع، باید سایر کدهای موجود در فایل htaccess را حذف کنیم و کدی که با پورت فعلی که در پروژه به ما اختصاص داده شده است باقی بماند.
بهترین کار این است که بعد از حذف پروژه، فایل htaccess مربوط به پروژه که در فولدر دامنه و یا سابدامنه پروژه قرار دارد حذف شود تا مجدد ایجاد شود.
به یاد داشته باشید برای مشاهده فایلهای htaccess باید نمایش فایلهای مخفی (hidden files) در فایل منیجر cpanel فعال باشد.
پر شدن فضای هاست و نداشتن فضای خالی بر روی هاست
به یاد داشته باشید که به ازای هر پروژه ای که شما ایجاد میکنید، تعداد زیادی فایل و پکیج از مخزن پکیجهای npm و یا میرورها، بر روی هاست شما دانلود و به پروژه شما اضافه میشود.
با اضافه شدن این پکیجها و ماژولها در پروژه، فضای هاست شما پر میشود و اگر سرویس هاست شما پلنهای پایه مثل 1 گیگ و 2 گیگ باشد به سرعت این فضا به اتمام میرسد.
در صورت بروز خطا، یکی از اقدامات اولیه بررسی میران فضای هاست است.
باید به طور مرتب فضای هاست را زیر نظر داشته باشید و اگر با کمبود فضا مواجه شدید، فایلهای اضافه را در فولدر trash حذف کنید و یا اینکه به پلنهای بالاتر ارتقا دهید تا همیشه فضای کافی در اختیار داشته باشید.(راهنمای ارتقا هاست)
خطا در تعریف یوزرنیم و پسورد و کانکشن استرینگ مونگودی بی
اگر در پروژه خود از مونگو دی بی (mongodb) استفاده می کنید باید توجه داشته باشید که یوزرنیم و پسورد و نام دیتابیس را درست وارد کرده باشید.
در مورد استفاده از مونگو دی بی در پروژه، عموما از کانکشن استرینگ زیر استفاده میشود.
mongodb://yourmongodb_user:yourpassword@localhost:27017/yourmongodb_db
زمانی که کانکشن استرینگ، به هر دلیلی مشکل داشته باشد در لاگ پروژه خطای مخصوص به دیتابیس مونگو نمایش داده میشود.
در خطای نمایش داده شده، دقیقا به وجود خطا در کانکت شدن به مونگودی بی اشاره میکند.
در برخی موارد با تغییر لوکال هاست (localhost
) در کانکشن استرینگ، به آی پی 127.0.0.1 و یا 0.0.0.0 خطای پروژه رفع میشود.
مورد دیگری که باعث ایجاد خطا میشود استفاده از کاراکترهای خاص زیر در پسورد دیتابیس مونگودی بی است.
$ : / ? # [ ] @
طبق مستندات mongodb در مورد کانکشن استرینگ ، استفاده از هر یک از کاراکترهای بالا در پسورد دیتابیس مونگودی بی، باعث مختل شدن و از کار افتادن کانکشن استرینگ و بروز خطا در پروژه خواهد شد.
عدم نمایش و حذف شدن لیست پروژههای نودجی اس
اگر زمانی وارد قسمت nodejs application شدید و هیچ کدام از پروژهها را در این قسمت مشاهده نکردید نگران نباشید.
ممکن است فولد.nodejs-application که در روت اصلی وجود دارد حذف شده باشد و یا فایلی به نام applications.json که حاوی اطلاعات لیست کامل پروژهها است پاک شده باشد.
در اینصورت می توانید از منوی home directory جت بک آپ سی پنل، آخرین بک آپ ایجاد شده را باز و وارد روت اصلی شده و در فولدرnodejs-application فایل applications.json را دانلود می کنیم
بعد از اکسترکت در سیستم، فایل مورد نظر را به همان صورت در این فولدر در هاست آپلود و جایگزین می کنیم.
یا کدهای آن را در داخل فایلی به همین نام paste کرده و ذخیره کنید.
بعد از این کار اطلاعات مربوط به پروژههای ایجاد شده توسط شما در بخش نود جی اس نمایش داده می شود.
خطای ENOENT در نود جی اس
یکی از خطاهایی که در ترمینال سی پنل در زمان دباگ پروژه ممکن است با آن مواجه شوید خطای ENOENT است.
در یک پست آموزشی جداگانه در مورد رفع خطای ENOENT اشاره شده است که می توانید این پست را مشاهده بفرمایید.
در پروژههای nuxt، اگر با این خطا مواجه شدید برای رفع این خطا می توانید یک متغیر محیطی به نام HOST با مقدار 0.0.0.0 ایجاد کنید. بعد از ایجاد متغیر محیطی، پروژه را استاپ و استارت کنید و سپس مجدد پروژه را تست کنید.
بر روی افزودن متغیر محیطی (add variable) کلیک میکنیم (1) تا ردیف جدید در متغیرهای محیطی اضافه شود.
در قسمت نام (name) متغیرهای محیطی کلمه HOST را با حروف بزرگ وارد میکنیم (2) و برای مقدار (value) مقدار 0.0.0.0 را وارد میکنیم (3) و در پایان روی دکمه ذخیره (save changes) کلیک میکنیم . (4)
در اکثر مواقع با این تغییر مشکل رفع خواهد شد و پروژه در دسترس قرار می گیرد.
خطای بیلد در پروژههای nextjs
عموما از nextjs به عنوان بک اند در پروژههای نود جی اس استفاده میشود.
یکی از خطاهایی که ممکن است در پروژههای nextjs با آن مواجه شویم مربوط به تهیه بیلد پروژه است.
این خطا به علت کمبود منابع اتفاق میافتد و بیلد کامل نمیشود.
در اکثر موارد با ارتقا به پلنهای بالاتر سرویس نودجی اس، منابع کافی در اختیار پروژه قرار میگیرد. بعد از اجرای دستور بیلد، بیلد با موفقیت تهیه و پروژه در دسترس قرار میگیرد.
در این پست به صورت خلاصه، به پر تکرارترین و بیشترین خطاهایی که در پروژههای نودجی اس اتفاق میافتد اشاره کردیم.
همه این خطاها، باعث نمایش خطای 503 در مرورگر میشود که با موارد گفته شده قابل رفع هستند.
البته ممکن است در حین راه اندازی پروژه با خطاهای دیگری مواجه شوید. برای رفع خطا، میتوانید متن خطا و یا اسکرین شات آن را برای همکاران ما در تیکت ارسال کنید (ارسال تیکت پشتیبانی).
همکاران بخش پشتیبانی، در اسرع وقت پروژه شما را بررسی و راهنماییهای لازم را خدمت شما ارسال خواهند کرد.
پست های دیگری درباره راه اندازی پروژه های نودجی اس در پارس وب سرور منتشر شده است که می تواند در زمینه راه اندازی و مدیریت پروژه های نودجی اس به شما کمک کند :
pm2 چیست و چه کاربردی در پروژههای nodejs دارد؟
راهنمای رفع خطای MODULE_NOT_FOUND در Nodejs
ساخت دیتابیس مونگو دی بی و اتصال به studio 3t
محبوبترین فریمورکها و تکنولوژیهای نودجیاس nodejs در سال 2024