شمار زیادی از توسعهدهندگان حرفهای از Node.js برای اسکریپتنویسی سمت سرور و توسعه وب سایتهای واکنشگرا استفاده میکنند که درخواستهای کاربر را به جای مرورگر و در سمت مشتری، روی سرور وب اجرا میکنند. این ویژگی نه تنها زمان بارگذاری هر وب سایت را تا ۵۰ درصد کاهش میدهد، بلکه عملکرد کلی انواع برنامهها را هم تا ۵۰ درصد افزایش میدهد.
به همین دلیل است که شرکتهای جهانی مانند آمازون، eBay، Netflix، Reddit، Tumblr، LinkedIn، PayPal و غیره از Node.js استفاده میکنند و هر روز بر تعداد آنها افزوده میشود. از این رو، میتوانید تقاضای رو به رشد برای توسعهدهنده جاوا اسکریپت فولاستک را درک کنید. یادگیری اجرای Node.js روی سرور لینوکس اولین قدم برای شروع این مسیر است.
اگر قرار است برای اولین بار از محیط Node.js در توسعه جاوا اسکریپت بک اند استفاده کنید، برای اجرای آن نیاز به راهنمایی خواهید داشت. در این پست از بلاگ ابر ویراک یک آموزش قدم به قدم راهاندازی و اجرای Node.js در سرور ابری لینوکس را آماده کردهایم و نحوه ساخت Node.js با سرور ابری لینوکس را هم بررسی خواهیم کرد. اگر قصد دارد از Node.js روی یک سرور ابری لینوکس استفاده کنید، با ما همراه باشید.
Node.js چیست؟
Node.js یک محیط متن باز اجرای جاوا اسکریپت است که بر روی موتور جاوا اسکریپت V8 کروم طراحی شده است. این راهکار پشتیبانی از پلتفرمهای مختلف را ارائه میدهد تا به توسعهدهندگان کمک کند تا کدهای خود را بدون توجه به سیستم عامل در یک محیط مجازی آزمایش و اشکالزدایی (دیباگینگ) کنند. با این امکان، برنامه نویسان میتوانند تستهای سمت سرور را به صورت یکپارچه و بدون توجه به سیستم عامل به انجام برسانند.
توسعهدهندگان Front-end از جاوا اسکریپت برای ایجاد رابط کاربری تعاملی وب سایت که فقط در سمت مشتری و در مرورگر اجرا میشوند، استفاده میکنند. Node.js تمام قابلیتهای مورد نیاز را برای استفاده از جاوا اسکریپت در توسعه back-end، بخش سمت سرور معماری برنامه وب و بخش بدون سرور، در اختیار کاربر قرار میدهد.
Node.js چگونه کار میکند؟
Node.js بر روی یک مدل «حلقه رویداد تک رشتهای» کار میکند. این بدان معناست که میتواند به درخواستهای همزمان از یک رشته پاسخ دهد در حالی که الزامات مسدود کردن آن را فقط برای یک درخواست مشتری نادیده میگیرد. هر زمان که این فریمورک یک درخواست دریافت میکند، ابتدا در صف رویداد قرار میگیرد و سپس پردازش شروع میشود. اکنون دو مورد ممکن است اتفاق بیفتد.
- اگر درخواست مشتری نیاز به مسدود کردن ورودی/خروجی نداشته باشد، فورا پردازش میشود و پاسخ به منبع ارسال میشود.
- هنگامی که درخواست نیاز به برخی عملیات مسدود کردن ورودی/خروجی دارد، یعنی دسترسی به پایگاه داده یا برقراری ارتباط با سرویسهای خارجی، ابتدا یک رشته از مخزن نخ داخلی انتخاب میکند و درخواست را به آن رشته اختصاص میدهد. اکنون آن رشته خاص ابتدا درخواست را با انجام عملیات مسدودسازی ورودی/خروجی مورد نیاز پردازش میکند. سپس، پاسخ را آماده میکند و آن را به حلقه رویداد ارسال میکند تا در نهایت برای مشتری ارسال شود.
بنابراین، Node.js میتواند چندین درخواست مشتری را به صورت موازی با قرار دادن آنها در صف رویداد و پردازش هر یک از آنها از طریق حلقه رویداد ارائه دهد. به همین دلیل است که هنگام کار در این محیط سبک وزن عملکرد سریع تری را نسبت به استفاده از معماری درخواست-پاسخ چند رشته ای مانند HTML، ASP.NET، Ajax و غیره تجربه میکنید.
Node.js دارای یک مدیریت بسته به نام npm است. این به عنوان نمایهای از کتابخانههای ایجاد شده توسط جامعه توسعه دهندگان Node.js کار میکند. این بستهها به راحتی توسط پروژههای دیگر به اشتراک گذاشته، اصلاح و درونریزی میشوند. رجیستری npm میزبان بیش از 1،000،000 بسته منبع باز است که راه حلهای بهینهای را ارائه میدهد که توسعه پروژههای جدید را آسانتر کرده و پروژههای قدیمی را هم بهبود میبخشد.
از این رو، میتوانید از Node.js برای توسعه آسان برنامههای کاربردی وب استفاده کنید. اگر میخواهید تجربه کارآمدتری داشته باشید، میتوانید متن این محیط اجرای متن باز را تغییر دهید و از آن در سیستم خود استفاده کنید.
چگونه Node.js را در لینوکس اجرا کنیم؟
لینوکس به عنوان یک سیستم عامل منبع باز، توزیع یا دستروهای زیادی دارد و نصب Node.js در هر توزیع لینوکس متفاوت است. میتوانید بایگانی باینری Node.js را بررسی کنید تا روش نصب دقیق سیستم مورد استفاده خود را دریافت کنید. همچنین میتوانید روش تغییر Repository در هر دیسترو لینوکس را هم در مطلب آموزش تغییر Package Repository در بلاگ ابر ویراک پیدا کنید.
ما این آموزش را در مورد نحوه راه اندازی Node.js در سرور ابری لینوکس مبتنی بر اوبونتو آماده کردهایم. مراحل اجرای Node.js روی سرور ابری لینوکس اوبونتو عبارتاند از:
۱) ابتدا ابزار خط فرمان curl را روی لینوکس خود نصب کنید. دستور زیر را در پنجره ترمینال برای آن وارد کنید.
$ sudo apt install curl
۲) ممکن است برای تأیید اینکه آیا دسترسی سرپرست دارید، رمز عبور سیستم شما را درخواست کند.
۳) پس از وارد کردن آن، دستور curl نصب خواهد شد.
۴) در مرحله بعد، باید دستور نصب را برای توزیع لینوکس خود از صفحه بایگانی باینری Node.js کپی کنید و آن را در پنجره ترمینال قرار دهید.
۵) برای اوبونتو، ما از دستور زیر استفاده کردهایم (نسخه Node.js را جایگزین «14.x» کنید.)
$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
۶) اکنون فرآیند نصب Node.js اجرا خواهد شد.
۷) وقتی تمام کتابخانههای Node.js روی سیستم شما نصب شد، دستور زیر را وارد کنید.
$ sudo apt-get install -y nodejs
۸) در نهایت Node.js بر روی سیستم شما نصب خواهد شد.
۸) اکنون دستور Clear را وارد کنید تا ترمینال شما پاک شود.
۹) اکنون نسخه Node.js خود را با وارد کردن دستور زیر در ترمینال تأیید کنید.
$ Node --version
۱۰) همچنین میتوانید نسخه npm خود را با دستور زیر بررسی کنید.
$ npm –version
چگونه Node.js را روی پروژه اجرا کنیم؟
میتوانید پروژه های Node.js را با استفاده از دستور node اجرا کنید. اما ابتدا باید Node.js را روی سیستم خود نصب کنید تا دستور node را دریافت کنید. در مرحله بعد، باید فایل Node.js را با استفاده از روش های ذکر شده در بالا ایجاد کنید. سپس، در صورت تمایل می توانید فایل را در پوسته، حتی با تغییرات خاصی، اجرا کنید. [ما از فایل “test-node.js” برای این آموزش استفاده کرده ایم.]
می توانید با تایپ دستور node زیر فایل برنامه خود را فراخوانی کنید.
$ node test-node.js
اگر میخواهید به Node.js بگویید چگونه اسکریپت را با استفاده از کدام مفسر اجرا کند، میتوانید دستور node را با یک خط ‘shebang’ در جاوا اسکریپت خود جاسازی کنید. برای آن دستور زیر را وارد کنید.
$ #!/usr/bin/node
در صورتی که سیستم شما گره را در پوشه bin نداشته باشد، باید env داشته باشد، و می توانید به سیستم عامل خود دستور دهید تا اسکریپت را با env اجرا کند در حالی که گره را به عنوان پارامتر نگه می دارد. برای این کار از دستورات زیر استفاده کنید [اسکریپت خود را در محل کد نمایشی وارد کنید.]
$ #!/usr/bin/env node // demo code
توجه: “shebang” اولین خط در فایل جاوا اسکریپت شما است. می توان آن را تغییر داد تا به سیستم عامل شما بگوید از کدام مترجم هنگام اجرای یک اسکریپت استفاده کند. اما فایل شما باید دارای مجوز اجرایی برای استفاده از خط shebang باشد. از دستور زیر برای دادن مجوز اجرایی به فایل خود استفاده کنید.
$ chmod u+x test-node.js
سخن پایانی
در این پست از بلاگ ابر ویراک، نحوهی نصب و راهاندازی Node.js روی سرور ابری لینوکس را مورد بررسی قرار دادیم. Node.js به توسعهدهندگان اجازه میدهد توسعه بک اند را بدون در نظر گرفتن سیستم عامل کامپیوتر مقصد جلو ببرند و توسعهدهندگان فرانت را هم در توسعهی برنامههای واکنشگرا یاری میرساند. امیدواریم این پست از بلاگ ابر ویراک برای شما مفید واقع شده باشد.