آموزش Node.js

آموزش ایجاد سرور node.js به صورت سرویس در windows server

مگه node.js خودش بعنوان سرور عمل نمی کنه؟

همونطور که میدونید، node.js برای اجرا نیازی به وب سرور (مثلا apache و iis) نداره. و خودش بعنوان وب سرور عمل می کنه.

و این وب سرور رو ما داخل برنامه ایجاد می کنیم (معمولا با ماژول express) و در خط فرمان با دستور node و یا دستور nodemon (در صورت نصب بودن ماژول nodemon) اجرا می کنیم.

این وضعیت برای یک دولوپر که میخواد در کامپیوتر خودش برنامه نویسی کنه و کدهاش رو تست و اجرا کنه به درد میخوره. اما اگر بخوایم برنامه رو منتشر کنه باید چیکار کنه؟

خب در حالت عادی ما یک هاست لینوکسی مخصوص node.js خریداری می کنیم که ابزار لازم برای اجرای اپلیکیشن رو بهمون میده و تقریباً دردسر خاصی نداره.(این رو هم به زودی آموزشش رو منتشر می کنم ایشالا)

اما اگر ما بخوایم اپلیکیشن نود جی اس خودمون رو روی سیستم عامل ویندوز (سرور یا دسکتاپ) هاست کنیم، نمیشه هر دقیقه وصل شیم و خط فرمان رو باز کنیم و برنامه رو اجرا کنیم که. یا اینکه مثلا در صورتی که به هر دلیل سرور ویندوزی ما ریستارت بشه، اپلیکیشن node.js ما متوقف میشه و دوباره باید دستی بریم و اجراش کنیم.

خب این وضعیت جالبی نیست.

خب پس برای هاست کردن node.js در ویندوز باید چکار کنیم؟

برای رفع این مشکل، باید اپلیکیشن نود جی اس خودمون رو به صورت یک service ویندوزی دربیاریم که با ریستارت شدن ویندوز هم به صورت خودکار اجرا بشه.

برای ایجاد یک سرویس ویندوز (لیست سرویس های ویندوز رو میتونید با زدن windows+r و بعد نوشتن services.msc ببینید) معمولا یک دستور با فرمت زیر رو در cmd اجرا می کنیم:

Sc create MyNewServName binpath="C:\MyServicePath\MyServName.exe -p arg -p"

اما من نتونستم راهی پیدا کنم که بوسیله این دستور یک سرویس ویندوزی برای اجرای node.js پیدا کنم. اگر شما این رو بلدید توی نظرات بنویسید برام.

پس چی بلدی؟

من برای این کار از اپلیکیشن Always Up استفاده می کنم. نسخه کرک شده این نرم افزار هم در سایتهای ایرانی پیدا می شه که با سرچ در گوگل میتونید پیداش کنید. من از این آدرس از سایت download.ir به همراه کرک دانلودش کردم.

راه اندازی node.js بعنوان سرویس ویندوزی

نصب نرم افزار Always Up خیلی پارامتر خاصی نداره و به شیوه ایرانیان راستین، با چند تا next انجام میشه. یه کد هم بهتون میده که با keygen اون رو تبدیل به کد رجیستر نرم افزار می کنید و توش وارد می کنید و تمام!

ایجاد سرویس node.js در ویندوز

این تصویری که من گذاشتم، توش یک سرویس Node.js فعال هست. ولی وقتی شما نرم افزار رو برای اولین بار اجرا می کنید، هیچ سرویسی توش وجود نداره و خالی هستش.

برای ایجاد یک سرویس جدید، روی اولین آیکون سمت چپ کلیک می کنیم.

node.js windows server

در پنجره پاپ آپی که باز میشود، در قسمت فیلد Application آدرس فایل node.exe در محل نصب node.js در سیستم عامل رو وارد می کنید.

و در قسمت arguments آدرس فایل اصلی برنامه خودتون رو (مثلا app.js یا index.js) به صورت دستی وارد می کنید.

و در آخر دکمه save در پایین صفحه رو میزنید.

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

start node.js service windows

حالا انگار یه جوری وضو گرفتین که هیچ بادی نمیتونه باطلش کنه!

سرویس node.js اپلیکیشن شما ایجاد شده و از طریق مرورگر و لوکال هاست و همون پورتی که داخل اپلیکیشن براش نوشتین، اجرا میشه.

ضمناً‌ این سرویس از نوع autostart هستش و با ریستارت شدن ویندوز هم مجدداً خودش استارت میشه و اپلیکیشن شما Run میشه 🙂

حامد عسکریان

برنامه نویس و عاشق تکنولوژی

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

دکمه بازگشت به بالا
بستن
بستن