Isamel Heroic نشر 5 يناير 2021 أرسل تقرير نشر 5 يناير 2021 السلام عليكم كيف يمكنني استخدام nodejs في استضافه خاصه في حال لدي مشروع بسيط ٫ هل احتاج لتحميل شي او يمكن استعماله مع انجن اكس اقتباس
0 Sam Ahw نشر 5 يناير 2021 أرسل تقرير نشر 5 يناير 2021 بدايةً يمكن تشغيل تطبيقات Node Js على السيرفر دون الحاجة لاستخدام Nginx بما أنك تستخدم Express فهو بحد ذاته مخدم ويب، ولكن لسهولة ربط النطاق وتوجيهه إلى ملفات المشروع وأيضاً إضافة Proxy لتحويل المنفذ 80 إلى أي منفذ port آخر تقوم باستعماله من الممكن استخدام Nginx. الخطوات هي كالتالي (وبافتراض أن نظام التشغيل لينكس): أولاً ، تحتاج إلى تثبيت NodeSource PPA من أجل الوصول إلى محتوياته ولتتمكن من تنفيذ الأوامر. تأكد من أنك في المسار الرئيسي: cd ~ واستخدم curl للتثبيت كالتالي: curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh انتظر قليلاً حتى يكتمل التحميل، ثم قم بتثبيت التحديثات إلى ملفات الخصائص configuration عن طريق الأمر التالي: sudo bash nodesource_setup.sh ثم قم بتحميل البكج: sudo apt-get install nodejs الآن وبعد اكتمال التحميل، أصبح يمكنك استخدام NPM ضمن السيرفر. مثال لإنشاء تطبيق بسيط من ملف واحد وربطه: cd ~ nano hello.js وكتابة التالي ضمن الملف: #!/usr/bin/env nodejs var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8080, 'localhost'); console.log('Server running at http://localhost:8080/'); ملاحظة: يمكنك تغيير 8080 في حال كنت تستخدم منفذ آخر. الآن يمكنك تجربة الخطوات السابقة أنها تخلو من أي مشكلة ببساطة عن طريق جعل الملف السابق ملف تنفيذي كالتالي: تأكد من أنك ضمن نفس المجلد الذي يحوي الملف وقم بتفيذ الأمر التالي: chmod +x ./hello.js فسيطبع لك الناتج التالي: Output Server running at http://localhost:8080/ أي أن السيرفر يعمل ويستمع للطلبات على المنفذ 8080 أو أي منفذ آخر قمت باختياره. ملاحظة: في حال أردت إبقاء سيرفر Node يعمل في الخلفية بشكل دائم، سوف تحتاج أن تستخدم PM2 لإدارة العمليات ويجب عليك تحميله عن طريق الأمر التالي: sudo npm install -g pm2 ثم توجه مجدداً إلى المجلد الذي يحوي ملف تشغيل التطبيق واكتب التالي: pm2 start hello.js وأخيراً أصبح تطبيقك يعمل ضمن العمليات التي يديرها PM2 وسيطبع لك الناتج التالي: Output [PM2] Spawning PM2 daemon [PM2] PM2 Successfully daemonized [PM2] Starting hello.js in fork_mode (1 instance) [PM2] Done. ┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────────────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ ├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────────────┼──────────┤ │ hello │ 0 │ fork │ 3524 │ online │ 0 │ 0s │ 21.566 MB │ disabled │ └──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app يمكنك قراءة العمليات التي يدعمها PM2 كإعادة التشغيل وحذف العملية وغيرها من العمليات عبر الموقع الرسمي له. وأما ضمن Nginx، فقط قم بتعديل محتوى location التالي لتحويل المنفذ كما شرحت مسبقاً: location / { proxy_pass http://localhost:8080; 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; } بالتوفيق والمسار (الافتراضي) للدخول وتعديل الخصائص ضمن Nginx هو: /etc/nginx/sites-available/default 1 اقتباس
السؤال
Isamel Heroic
السلام عليكم
كيف يمكنني استخدام nodejs في استضافه خاصه في حال لدي مشروع بسيط
٫ هل احتاج لتحميل شي او يمكن استعماله مع انجن اكس
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.