كيفية إعداد تطبيقات Node.js لتعمل على Debian 8
يعد Node.js من أدوات البرمجة الأساسية التي يستخدمها الكثير من مطوري البرمجيات لإنشاء تطبيقات ويب وتطبيقات خلفية فعالة وقابلة للتوسع. تمتاز بيئة Node.js بقدرتها على معالجة كميات كبيرة من البيانات بسرعة، فضلاً عن دعمها للعديد من المكتبات والأدوات التي تساهم في تسريع عملية تطوير البرمجيات. في هذا المقال، سوف نعرض لك كيفية إعداد بيئة Node.js على خوادم Debian 8، خطوة بخطوة، لتشغيل تطبيقات Node.js بنجاح.
1. التحقق من البيئة الخاصة بك
قبل أن تبدأ في إعداد تطبيقات Node.js على خادم Debian 8، من المهم التأكد من أن لديك إعدادًا بيئيًا صحيحًا. تحقق أولاً من أن لديك حق الوصول إلى الخادم وتثبيت كافة الأدوات الأساسية اللازمة لتشغيل بيئة التطوير. يمكن التأكد من أنك تعمل على Debian 8 باستخدام الأمر التالي:
bashcat /etc/debian_version
إذا كان لديك النسخة الصحيحة، يمكنك الانتقال إلى الخطوة التالية.
2. تثبيت المتطلبات الأساسية
قبل تثبيت Node.js، تأكد من أن جهازك يحتوي على الأدوات الأساسية التي ستحتاج إليها لتثبيت الحزم والتحديثات. لا بد من تحديث الحزم الموجودة وتثبيت الأدوات اللازمة باستخدام الأوامر التالية:
bashsudo apt-get update sudo apt-get upgrade sudo apt-get install curl python-software-properties
3. تثبيت Node.js
يمكنك تثبيت Node.js بعدة طرق، إما باستخدام مستودعات APT أو باستخدام مدير النسخ الخاص بـ Node.js (nvm). لكن يفضل تثبيت Node.js باستخدام المستودعات الرسمية لأنها توفر أحدث نسخة مستقرة من Node.js.
3.1 تثبيت Node.js باستخدام المستودعات الرسمية
لبدء عملية تثبيت Node.js، أضف مستودع Node.js الرسمي إلى قائمة المستودعات باستخدام هذه الأوامر:
bashcurl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
هذا الأمر سيقوم بإعداد مستودع Node.js وفقًا للنسخة التي اخترتها (في هذه الحالة، نسخة 14). بعد أن يتم إعداد المستودع، قم بتثبيت Node.js باستخدام الأمر التالي:
bashsudo apt-get install -y nodejs
3.2 التحقق من تثبيت Node.js
بعد اكتمال عملية التثبيت، يمكنك التحقق من أن Node.js تم تثبيته بشكل صحيح عن طريق تشغيل الأوامر التالية للتحقق من الإصدار:
bashnode -v npm -v
يجب أن ترى إصدار Node.js و npm (مدير الحزم الخاص بـ Node.js) الذي تم تثبيته. إذا تم عرض الإصدارات، فهذا يعني أن التثبيت تم بنجاح.
4. تثبيت الحزم الضرورية لتشغيل التطبيقات
عند العمل مع Node.js، ستحتاج إلى استخدام مدير الحزم npm لتثبيت الحزم والمكتبات المطلوبة. يتم استخدام npm لتثبيت الحزم مثل Express و Socket.io أو أي حزمة أخرى تحتاجها في تطبيقك.
لتثبيت حزمة جديدة، استخدم الأمر التالي:
bashnpm install
5. إعداد تطبيق Node.js
لنأخذ مثالاً بسيطًا لإنشاء تطبيق Node.js يعمل على خادم Debian 8.
5.1 إنشاء ملف التطبيق
أولاً، قم بإنشاء مجلد جديد لتطبيقك:
bashmkdir myapp
cd myapp
ثم، استخدم الأمر التالي لإنشاء ملف package.json الذي يحتوي على جميع معلومات الحزم:
bashnpm init -y
الآن، قم بإنشاء ملف app.js داخل مجلد التطبيق وكتابة كود بسيط له:
javascriptconst http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
5.2 تشغيل التطبيق
لتشغيل التطبيق، استخدم الأمر التالي:
bashnode app.js
سيتم تشغيل الخادم على المنفذ 3000، ويمكنك الوصول إلى تطبيقك عبر المتصفح عن طريق الانتقال إلى http://127.0.0.1:3000/.
6. إعداد تطبيق Node.js للعمل في بيئة الإنتاج
عند نشر تطبيق Node.js في بيئة الإنتاج، من المهم أن تستخدم بعض الأدوات والممارسات لتأمين استقرار التطبيق.
6.1 استخدام pm2 لإدارة العملية
pm2 هو أداة لإدارة عمليات Node.js في الخلفية، مما يسمح لك بتشغيل تطبيقك بشكل مستمر وإعادة تشغيله تلقائيًا في حال حدوث أخطاء. لتثبيت pm2، استخدم الأمر التالي:
bashsudo npm install pm2 -g
بعد تثبيت pm2، يمكنك تشغيل تطبيق Node.js باستخدامه:
bashpm2 start app.js
6.2 ضبط التطبيق ليعمل تلقائيًا عند بدء التشغيل
يمكنك أيضًا تكوين pm2 ليبدأ تطبيقك تلقائيًا بعد إعادة تشغيل الخادم باستخدام الأوامر التالية:
bashpm2 startup pm2 save
هذا سيضمن أن تطبيقك يعمل حتى بعد إعادة تشغيل الخادم.
7. إعداد Nginx كعكس وكيل (Reverse Proxy)
عند نشر تطبيق Node.js في بيئة الإنتاج، من الأفضل استخدام Nginx كعكس وكيل (Reverse Proxy) لتوجيه الطلبات إلى تطبيق Node.js. يساعد Nginx في إدارة حركة المرور ويتيح لك تخصيص الإعدادات مثل التوازن بين الحمل، والأمان، والتهيئة للأداء.
7.1 تثبيت Nginx
لتثبيت Nginx على Debian 8، استخدم الأمر التالي:
bashsudo apt-get install nginx
7.2 تكوين Nginx كعكس وكيل
قم بإنشاء ملف تكوين جديد لـ Nginx في /etc/nginx/sites-available/:
bashsudo nano /etc/nginx/sites-available/myapp
ثم أضف التالي:
nginxserver {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
بعد ذلك، أنشئ رابطًا رمزيًا إلى sites-enabled لتمكين التكوين:
bashsudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
8. اختبار التطبيق
بعد تكوين Nginx، تأكد من صحة تكوين Nginx وتشغيله:
bashsudo nginx -t sudo systemctl restart nginx
الآن يمكنك الوصول إلى تطبيقك عبر المتصفح باستخدام اسم النطاق الذي قمت بتحديده في التكوين (أو باستخدام عنوان IP الخاص بالخادم).
9. تأمين التطبيق باستخدام SSL
من الأفضل تأمين تطبيقك باستخدام شهادة SSL. يمكن استخدام Let’s Encrypt لتوفير شهادات SSL مجانية. لتثبيت Let’s Encrypt على خادم Debian 8، يمكنك استخدام certbot لتثبيت الشهادة.
9.1 تثبيت Certbot
bashsudo apt-get install certbot python-certbot-nginx
9.2 تثبيت الشهادة
bashsudo certbot --nginx -d yourdomain.com
سيقوم Certbot بتثبيت الشهادة وتكوين Nginx لتشغيل تطبيقك عبر HTTPS.
10. الصيانة والتحديثات
لضمان أن تطبيق Node.js يعمل بشكل مستمر وفعال، من المهم الحفاظ على تحديث بيئة Node.js وحزم npm. قم بتحديث Node.js باستخدام apt أو nvm، وكذلك قم بتحديث الحزم باستخدام الأمر:
bashnpm update
من خلال اتباع هذه الخطوات، يمكنك إعداد وتشغيل تطبيقات Node.js بكفاءة على خوادم Debian 8، مما يتيح لك الاستفادة من جميع الإمكانيات التي توفرها هذه البيئة لتطوير التطبيقات بسرعة وأمان.

