اگر علاقه مند به میزبانی برنامه های Node.js هستید، خبر خوبی برای شما داریم. Plesk از پسوند Node.js پشتیبانی می کند که به شما امکان می دهد برنامه ها خود را به راحتی مدیریت کنید. در این مقاله، نحوه کار با برنامههای Node.js را در پلسک Obsidian، آخرین نسخه پلسک، به تفصیل شرح خواهیم داد.
پیش نیازها
اولین کاری که باید انجام دهید نصب پلسک Obsidian است. من Debian را به عنوان سیستم عامل سرور برای این مقاله انتخاب کردم. شما می توانید از توزیع لینوکس یا ویندوز استفاده کنید – فقط توجه داشته باشید که اگر سیستم عامل دیگری استفاده کنید، ممکن است تفاوت های جزئی وجود داشته باشد. با فرض اینکه Plesk قبلاً نصب شده است، اجازه دهید پسوند Node.js را نصب کنیم.
وارد پلسک شوید، به «Tools and Settings» بروید و روی «Updates and Upgrades» کلیک کنید. سپس به «Add/Remove Components بروید. NodeJS support را پیدا کنید. آن را انتخاب کنید و نصب Node.JS را ادامه دهید. در عرض چند دقیقه، تمام اجزای لازم نصب خواهند شد.
برنامه “Hello World“.
برای اطمینان از اینکه همه چیز به درستی کار می کند، بیایید سعی کنیم یک برنامه نمونه Node.js، مانند برنامه «Hello, World» را میزبانی کنیم.
می توانید یک برنامه نودرجی اس را از اینجا دانلود کنید و در هاست خود اپلود کنید.
پلسک افزونه ای به نام Git extension نیز دارد که از آن نیز جهت ایجاد یک برنامه نود جی اس می توانید استفاده کنید.
تفاوت بین Document Root و Application Root
مرحله بعدی تغییر ” Document root” برای دامنه است. توجه داشته باشید که من در مورد ” Document root” و ” Application root” صحبت خواهم کرد. آنها یکی و یکسان نیستند. وقتی در مورد برنامههای وب صحبت میکنیم (مانند برنامههای مبتنی بر Node.js یا موارد مشابه)، « Document root» مکانی است که میتوان داراییهای ثابت را پیدا کرد. در حالی که ، ” Application root” دایرکتوری ریشه ای است که خود برنامه در آن قرار دارد.
در بیشتر موارد، ” Document root” یک دایرکتوری در دایرکتوری ” Application root” (به عنوان مثال ” public”) است.
اکنون باید document root را تغییر دهید. برای انجام این کار، به “Domains” بروید، وب سایت خود را انتخاب کنید و به “Hosting Settings” بروید:
document root موجود را به “hello-world/public” (بدون نقل قول) تغییر دهید و روی دکمه “Ok” کلیک کنید تا تغییرات ذخیره شوند.
پشتیبانی از Node.js را فعال کنید
آخرین کاری که باید قبل از اجرای برنامه انجام دهید، فعال کردن پشتیبانی Node.js در دامنه است.
به “Domains” بروید، وب سایت را انتخاب کنید و روی “Node.js” کلیک کنید.
در اینجا اطلاعاتی درباره برنامه خود و یک ردیف دکمه در بالا مشاهده خواهید کرد.
روی ” Enable Node.js” کلیک کنید و در عرض چند ثانیه صفحه شما به شکل زیر در می آید:
Appبا Dependencies
برنامههای واقعی Node.js همیشه وابستگیهای خارجی دارند که در فایل package.json تعریف شده و در فهرست node_modules نصب شدهاند.
بیایید نگاهی به یک برنامه مبتنی بر Express بیاندازیم – می توانید آن را از مخزن اینجا (https://github.com/plesk/node-express)دانلود کنید. یا مراحل بالا را برای راه اندازی یک مخزن در پلسک تکرار کنید، یا کد منبع را به صورت دستی دانلود/آپلود کنید. پس از اتمام کار، صفحه تنظیمات Node.js باید به این شکل باشد – با فرض اینکه کد را در فهرست “express-demo” آپلود کرده اید:
نصب Dependencies
قبل از اینکه سعی کنید به برنامه دسترسی پیدا کنید، ابتدا باید آن را مقداردهی اولیه کنید. بیایید با نصب وابستگی ها شروع کنیم .
خوشبختانه، در Plesk، این کار به آسانی کلیک کردن بر روی دکمه « NPM install» است. با این کار تمام وابستگی های برنامه مطابق با فایل package.json نصب می شود. سپس، باید فایل راه اندازی برنامه را تنظیم کنید. Plesk از سرور برنامه Phusion Passenger برای ارائه برنامه های Node.js استفاده می کند. مخزن برنامه آزمایشی ما حاوی فایلی به نام “server.js” است. این فایل بخشی از یک برنامه معمولی مبتنی بر Express نیست و فقط حاوی چند خط کد است، اما با این وجود برای اجرای برنامه ضروری است:
const app = require(‘./app’);
const http = require(‘http’);
http.createServer(app).listen(process.env.PORT);
میتوانید هنگام میزبانی از سایر برنامههای Node.js (مثلاً بر اساس چارچوبی متفاوت) از ایده پشت این فایل استفاده کنید. آخرین کاری که باید انجام دهید این است که تنظیمات “Application Startup File” را به “server.js” تغییر دهید.
اکنون، دامنهای را که برنامه را روی آن نصب کردهاید را در مروگر خود باز کند – باید پبام Express welcomرا ببینید.
به طور پیش فرض، برنامه در حالت ” production” اجرا می شود. اگر برنامه را تغییر میدهید، فراموش نکنید که با کلیک کردن روی دکمه « Restart» آن را مجدداً راهاندازی کنید.
چند نکته برای خطا یابی نود حی اس :
بررسی Log Files
اولین کاری که باید هنگام عیب یابی یک برنامه Node.js انجام دهید، بررسی log fileها است. برای مثال، اگر فراموش کردید که وابستگیها را برای برنامه Express Express نصب کنید (این کار را از طریق دکمه «NPM install» انجام میدهید، یادتان هست؟)، گزارش خطای آپاچی حاوی خطای « Cannot find module ‘express» را خواهید دید .
متأسفانه به دلیل ماهیت Phusion Passenger، از گزارش خطای سرور به جای گزارش خطای هر دامنه استفاده می شود. در این حالت، کاربران نهایی پیام زیر را مشاهده خواهند کرد:
پیام های خطا را در مرورگر ببینید :
هنگام توسعه یک برنامه، دیدن پیام های خطا به طور مستقیم در سایت بسیار مفید است – آنها هنوز در حال ثبت هستند.
به صفحه تنظیمات برنامه Node.js بروید و Application Mode را به “Development” تغییر دهید. دفعه بعد که مشکلی ظاهر می شود، خطا در پنجره مرورگر نشان داده می شود. مثل این:
Node.js و ویندوز:
پشتیبانی Node.js در پلسک برای لینوکس و پلسک برای ویندوز در دسترس است. اما میزبانی برنامه های Node.js در ویندوز دارای چند نکته است که باید در نظر بگیرید.
ابتدا پشتیبانی Node.js در پلسک Obsidian با کمک ماژول iisnode پیاده سازی می شود . دوم، در حالی که در پلسک برای لینوکس می توانید یک نسخه Node.js متفاوت را برای هر دامنه انتخاب کنید. در پلسک برای ویندوز، از یک نسخه Node.js در سراسر سرور استفاده می شود – می توانید نسخه Node.js را در حین نصب انتخاب کنید.
تست Node.js support
تفاوت دیگر محل entry point اصلی است. در پلسک لینوکس ، باید در دایرکتوری والد « Document root» دامنه قرار گیرد. در Plesk برای ویندوز، باید مستقیماً در فهرست “Document root” قرار گیرد.
برای آزمایش پ Node.js support ، از برنامه آزمایشی مبتنی بر Express از اینجا (https://github.com/plesk/node-express) استفاده کنید. یک دایرکتوری به نام “node-express” در دامنه خود با استفاده از دسترسی FTP یا مدیر فایل داخلی ایجاد کنید. سپس محتویات مخزن GitHub “node-express” را اپلود کنید. پس از آن، روی لینک « Hosting Settings» (inside Domains -> Website name) کلیک کنید و دایرکتوری « Document root» دامنه را روی «node-express» تنظیم کنید.
سپس، به تنظیمات برنامه Node.js بروید و “Application Startup File” را به “server.js” تغییر دهید. در نهایت، وابستگی ها را با استفاده از دکمه “NPM install” نصب کنید. پس از نصب وابستگی ها، می توانید سایت خود را در مرورگر باز کنید تا مطمئن شوید که برنامه در حال اجرا است. ممکن است به تنظیم اضافی قوانین بازنویسی نیاز باشد، اما همانطور که می بینید، راه اندازی برنامه Node.js حتی در هاست ویندوز نیز امکان پذیر است.