المجتمع الأكبر للعرب في مجال التك

تحميل من Google Playتحميل من App Store

كيفية رفع مشروع على VPS: من الفرونت للباك وقاعدة البيانات

Mohmed Mahmoud منذ سنة

كيفية رفع مشروع على VPS: من الفرونت للباك وقاعدة البيانات


لو أنت شغال في مجال البرمجة والمشاريع على الإنترنت، أكيد هتحتاج تستخدم VPS (سيرفر خاص افتراضي) علشان ترفع مشروعك. الموضوع ده بيكون مهم لو المشروع بتاعك محتاج مرونة وتحكم كامل في السيرفر. في المقال ده هنتكلم عن كيفية رفع مشروع كامل، من الواجهة الأمامية (فرونت إند)، للباك إند، وكمان قاعدة البيانات

1. أول حاجة لازم تحضرها

قبل ما تبدأ، لازم تتأكد من الحاجات دي:

سيرفر VPS: بيكون متوفر بنظام تشغيل غالبًا لينوكس (زي أوبونتو).

صلاحيات الوصول للسيرفر: بتحتاج تستخدم SSH علشان تدخل على السيرفر.

دومين (اختياري) لو عايز تشتغل على موقع سهل الوصول ليه.

2. تهيئة السيرفر

أول حاجة لازم تعملها بعد ما تدخل على السيرفر هي إنك تحدث النظام:

sudo apt update && sudo apt upgrade -y

ولو عايز تفتح حساب جديد في السيرفر، ممكن تستخدم:

adduser username

usermod -aG sudo username

وطبعًا لازم تكون مأمن السيرفر كويس، فأنت ممكن تستخدم UFW لفتح البورتات اللي هتحتاجها:

sudo ufw allow OpenSSH

sudo ufw enable

3. رفع المشروع على السيرفر

دلوقتي جاي دور رفع المشروع نفسه على السيرفر.


- أول طريقة: باستخدام Git


لو أنت رفع مشروعك على GitHub أو GitLab، تقدر تستخدم الأمر ده علشان تنسخ المشروع للسيرفر:


git clone https://your-repo-link.git


- ثاني طريقة: باستخدام SCP


ممكن ترفع المشروع من جهازك للسيرفر باستخدام SCP:


scp -r /local/project/path user@your-vps-ip:/home/user/

4. إعداد الباك إند (Back-End)

لو أنت شغال بـ Node.js، هتحتاج تعمل الآتي:


أول حاجة تأكد إنك محمل Node.js على السيرفر.


تأكد من إعداد ملف .env علشان بيانات الاتصال بقاعدة البيانات والبورتات.

بعد كده شغل المشروع:

npm install

npm run build

pm2 start dist/index.js --name backend    لو شغال بـ Python/Django أو PHP/Laravel، الخطوات مشابهة، بس هتحتاج أدوات مختلفة.

5. إعداد قاعدة البيانات

- لو عايز تستخدم قاعدة بيانات محلية زي MySQL أو MongoDB:

sudo apt install mysql-server

- لو عايز تستخدم قاعدة بيانات مستضافة زي MongoDB Atlas أو MySQL في خدمة سحابية، لازم تضبط الاتصال في ملف .env علشان تكون متصل بشكل صحيح.

6. إعداد الفرونت إند (Front-End)

أول حاجة لازم تبني المشروع:

npm run build

بعد كده، هتحتاج ترفع المجلد اللي فيه المشروع لـ Nginx علشان يقدر يخدمه للمستخدمين:

scp -r build/* /var/www/your-site/

7. إعداد Nginx لعكس البروكسي

هنحتاج نثبت Nginx علشان يوجه الترافيك للمشروع بتاعنا:

sudo apt install nginx

وبعد كده نعمل ملف إعدادات جديد:

sudo nano /etc/nginx/sites-available/your-site

هتكتب فيه الإعدادات دي

server {

  listen 80;

  server_name yourdomain.com;


  location / {

    root /var/www/your-site;

    index index.html index.htm;

    try_files $uri $uri/ /index.html;

  }


  location /api {

    proxy_pass http://localhost:5000; # البورت بتاع الباك إند

  }

}


وبعدين تفعيل الموقع:

sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/

sudo nginx -t

sudo systemctl restart nginx

8. أمان وصيانة السيرفر

تأمين الاتصال باستخدام HTTPS:

sudo apt install certbot python3-certbot-nginx

sudo certbot --nginx -d yourdomain.com

استخدام PM2 علشان تضمن إن الباك إند شغال دايمًا:

pm2 start dist/index.js --name backend

pm2 save

9. أهم النقاط اللي لازم تعرفها

النسخ الاحتياطي لقاعدة البيانات مهم جدًا علشان لو حصل أي مشكلة.


مراقبة السيرفر: زي ما تراقب الأداء (من خلال htop أو top)، كمان لازم تتابع السجلات (logs) علشان أي مشكلة تظهر.

حماية البورتات: خلي بالك متفتحش إلا البورتات اللي أنت محتاجها فقط.

تحديثات النظام: لازم تعمل تحديثات دورية علشان تحمي السيرفر من الثغرات.


1 رد