كيفية رفع مشروع على VPS: من الفرونت للباك وقاعدة البيانات
كيفية رفع مشروع على 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) علشان أي مشكلة تظهر.
حماية البورتات: خلي بالك متفتحش إلا البورتات اللي أنت محتاجها فقط.
تحديثات النظام: لازم تعمل تحديثات دورية علشان تحمي السيرفر من الثغرات.

