يوضح هذا الدليل طريقة نشر تطبيق Node.js على Plesk لنظام Windows فقط.
قبل البدء
تأكد من توفر التالي:
- إمكانية الدخول إلى لوحة Plesk.
- وجود نطاق أو نطاق فرعي مضاف مسبقًا في Plesk.
- ملفات تطبيق Node.js جاهزة.
- وجود ملف تشغيل رئيسي للتطبيق مثل:
app.jsserver.jsindex.js
- وجود ملف
package.jsonإذا كان التطبيق يستخدم حزم npm.
إذا لم يظهر خيار Node.js داخل Plesk، فهذا يعني غالبًا أن المكوّنات المطلوبة غير مثبتة على الخادم، ويجب التواصل مع مسؤول الخادم أو مزود الاستضافة.
الخطوة 1: رفع ملفات تطبيق Node.js
- سجّل الدخول إلى Plesk.
- انتقل إلى Websites & Domains.
- اختر النطاق أو النطاق الفرعي المطلوب.
- افتح File Manager.
- ارفع ملفات تطبيق Node.js.
في أغلب الحالات، يتم رفع ملفات التطبيق داخل مجلد الموقع الرئيسي:
httpdocs
مثال على ملفات التطبيق:
package.json
app.js
server.js
index.js
web.config
يعتمد اسم ملف التشغيل على طريقة بناء التطبيق.
الخطوة 2: فتح إعدادات Node.js
- انتقل إلى Websites & Domains.
- اختر النطاق أو النطاق الفرعي المطلوب.
- اضغط على Node.js أو Node.js Manager.
إذا لم يظهر هذا الخيار، فقد لا تكون إضافة Node.js مثبتة أو مفعّلة على الخادم.
الخطوة 3: ضبط إعدادات التطبيق
من صفحة إعدادات Node.js، قم بضبط الخيارات التالية:
Application Root
حدد المجلد الذي يحتوي على ملفات تطبيق Node.js.
مثال:
/httpdocs
Document Root
في Plesk على Windows، غالبًا يتم ضبط Document Root على:
/httpdocs
قد تختلف هذه النقطة عن بعض شروحات Linux التي تستخدم مجلدًا منفصلًا مثل public.
Application Startup File
اختر ملف التشغيل الرئيسي للتطبيق.
أمثلة:
app.js
server.js
index.js
هذا هو الملف الذي سيبدأ تشغيل تطبيق Node.js.
Application Mode
اختر وضع التشغيل المناسب:
production
أو:
development
للمواقع الحية، يُنصح باستخدام:
production
الخطوة 4: تثبيت حزم npm
إذا كان المشروع يحتوي على ملف package.json:
- افتح إعدادات Node.js الخاصة بالنطاق.
- اضغط على NPM install.
سيقوم Plesk بتثبيت الحزم الموجودة داخل ملف package.json.
إذا لم يظهر زر NPM install، تأكد من أن ملف package.json موجود داخل مجلد Application Root الصحيح.
الخطوة 5: تفعيل Node.js
بعد ضبط الإعدادات:
- اضغط على Enable Node.js.
- اضغط على Restart App إذا كان الخيار متاحًا أو إذا طُلب منك ذلك.
بعد ذلك، جرّب فتح الموقع من المتصفح للتأكد من أن التطبيق يعمل.
الخطوة 6: إضافة أو مراجعة ملف web.config
لأن هذه التعليمات خاصة بـ Plesk على Windows، فإن التطبيق يعمل من خلال IIS. لذلك، قد يحتاج التطبيق إلى ملف web.config لتوجيه الطلبات إلى تطبيق Node.js بشكل صحيح.
مثال أساسي:
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="Node.js" stopProcessing="true">
<match url=".*" />
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
استبدل app.js باسم ملف التشغيل الخاص بتطبيقك، مثل:
server.js
أو:
index.js
مثال على تطبيق Express
مثال لملف app.js:
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
app.get('/', function (req, res) {
res.send('Node.js app is running on Plesk Windows');
});
app.get('/about', function (req, res) {
res.send('About page');
});
app.listen(port, function () {
console.log('Application started');
});
مثال لملف package.json:
{
"name": "plesk-windows-nodejs-app",
"version": "1.0.0",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "^4.18.0"
}
}
ملاحظات مهمة خاصة بـ Plesk Windows
يتم تشغيل Node.js من خلال IIS و iisnode
في Plesk على Windows، لا يعمل تطبيق Node.js بنفس طريقة Linux. يتم تشغيل التطبيق عبر IIS باستخدام iisnode، لذلك قد تحتاج إلى إعدادات إعادة توجيه داخل ملف web.config.
قد يستخدم الخادم إصدار Node.js واحدًا
في بيئة Plesk على Windows، قد يتم استخدام إصدار Node.js واحد على مستوى الخادم لجميع تطبيقات Node.js. إذا كان تطبيقك يحتاج إلى إصدار معيّن، تواصل مع الدعم أو مسؤول الخادم للتأكد من الإصدار المدعوم.
لا تستخدم تعليمات Linux
لا تستخدم أوامر أو إعدادات خاصة بـ Linux مثل:
pm2
Passenger
.htaccess
systemctl
هذه التعليمات لا تنطبق على Plesk Windows في الاستضافة القياسية.
استكشاف الأخطاء وحلها
خيار Node.js غير ظاهر في Plesk
قد تكون إضافة Node.js أو المكوّنات المطلوبة غير مثبتة على الخادم. في هذه الحالة، تواصل مع الدعم أو مسؤول الخادم.
زر NPM install غير ظاهر
تأكد من وجود ملف:
package.json
داخل مجلد Application Root المحدد في إعدادات Node.js.
الموقع يعرض خطأ أو صفحة فارغة
تحقق من التالي:
- تم اختيار ملف التشغيل الصحيح.
- تم تفعيل Node.js.
- تم تثبيت الحزم عبر NPM install.
- ملف
web.configيشير إلى ملف التشغيل الصحيح. - التطبيق يعمل محليًا قبل رفعه إلى الخادم.
روابط Express لا تعمل
إذا كانت الصفحة الرئيسية تعمل، لكن الروابط مثل:
/about
/login
/api
لا تعمل، فقد تكون المشكلة من إعدادات إعادة التوجيه في IIS.
تأكد من أن ملف web.config يعيد توجيه جميع الطلبات إلى ملف التشغيل:
<match url=".*" />
<action type="Rewrite" url="app.js" />
استبدل app.js باسم ملف التشغيل الفعلي في تطبيقك.
التطبيق لا يبدأ
راجع سجلات الأخطاء من Plesk. من الأسباب الشائعة:
- وجود حزم npm ناقصة.
- اختيار ملف تشغيل غير صحيح.
- وجود أخطاء برمجية في التطبيق.
- إعدادات غير صحيحة في ملف
web.config. - التطبيق يستخدم منفذًا ثابتًا بدل المنفذ المخصص من البيئة.
يُفضل استخدام:
process.env.PORT
بدل الاعتماد على منفذ ثابت فقط.
مثال:
const port = process.env.PORT || 3000;
متى يجب التواصل مع الدعم؟
تواصل مع الدعم في الحالات التالية:
- خيار Node.js غير متوفر في Plesk.
- فشل تثبيت الحزم عبر NPM install.
- التطبيق لا يعمل رغم مراجعة ملف التشغيل وملف
web.config. - تحتاج إلى معرفة إصدار Node.js المدعوم على الخادم.
- تظهر أخطاء مرتبطة بـ IIS أو iisnode أو إعدادات الخادم.
عند التواصل مع الدعم، يُفضل تزويدهم بالمعلومات التالية:
- اسم النطاق.
- مسار Application Root.
- اسم ملف التشغيل.
- لقطة شاشة من إعدادات Node.js.
- رسالة الخطأ أو السجلات.
- محتوى ملف
web.configإذا كان متوفرًا.