قمت بانشاء مشروع MERN Stack
ماهي الخطوات المطلوبة لرفع المشروع؟
بحثت عن شروح عربية لم اجد
سيتعين عليك القيام بالتالي:
ومن الأفضل أن تقوم بالبحث على يوتيوب عن how to deploy MERN project on digitalocean وستجد الكثير من الشروحات، قم بمشاهدتها حتى لو مع الترجمة إن توفرت، أو مشاهدة الخطوات فقط.
أما في المحتوى العربي ابحث عن "رفع مشروع على digitalocean" وستجد نتائج جيدة خاصة بمشاريع nodejs.
لنلخص الأمر في ثلاث مراحل:
اختر التوزيعة المناسبة ثم الخطة ثم جهة مركز البيانات block storage وقم بتأكيد إنشاء Droplet.
افتح نافذة موجه أوامر ومن خلال SSH قم بالاتصال مع خادمك:
ssh root@server_ip_address
قم بإضافة مستخدم أعطه صلاحيات root:
adduser <username> usermod -aG sudo <username>
من خلال SSH نفذ الأوامر:
sudo ufw app list sudo ufw allow OpenSSH sudo ufw enable
يمكنك استعمال ميزة 1 click applications من خلال متجر Digital ocean لتثبيت Node مباشرة.
قم باستنساخ مستودع غيت الى داخل استضافتك:
git clone <repositorylink>
ادخل الى تطبيقك وشغل npm install ثم اترك pm2 يشغل تطبيقك:
pm2 start <app-entry-filepath> --name name-your-app
قم بالوصول الى ملف الاعداد الخاص بـ nginx وافتحه باستخدام nano:
sudo nano /etc/nginx/sites-available/default
ثم بتعديله ليصبح:
location / { proxy_pass http://localhost: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; }
طبعا فإنك ستحتاج ضبط APP_URL الصحيح مكان http://localhost:3000 في حال ما لم يكن كذلك.
احفظ الملف وأعد تشغيل nginx:
sudo nginx -t sudo systemctl restart nginx
يفترض أن يجعل هذا تطبيقك حيا.
كل الشكر على الشرح
لدي بعض الاسئلة
س1 : انا استخدم جهاز وندوز وفي الديجتال اوشن يطلب منك تحديد نظام تشغيل السيرفر وفي العادة تنصح ان تكون احدى توزيعات لينكس فهل يمكن ان تسبب هذه اي مشكلة؟ اي اذا كان جهازي وندوز ونظام تشغيل السيرفر لينكس ؟
س2 : ماهو الامر sudo ?
س3 : في المرحلة الخامسة حين اركب برمجيات node js هل استطيع من خلالها انشاء بريد الكتروني رسمي ؟ لوحة التحكم التي اعرفها هي سي بنل ويبدو انها خاصة لل php
س 4 : هل يجب ان ارفع مشروعي اولا على الجيت ام يمكن رفعه من جهازي مباشرة ؟
س 5 : ماهو PM2 ؟
س6 : ماهو NGINX ؟
التعليقات