مقدمة: لماذا VPS هو الخيار الصحيح لتطبيق Node.js الخاص بك
لقد كتبت تطبيقًا رائعًا بلغة JavaScript (Node.js)، واختبرته محليًا، وهو الآن جاهز لاقتحام العالم. ولكن كيف تنقله من بيئة التطوير المريحة إلى عالم الإنتاج القاسي؟ الإجابة بسيطة — VPS (الخادم الخاص الافتراضي). على عكس الاستضافة المشتركة، يمنحك VPS تحكمًا كاملاً في الخادم، ووصولاً كجذر (root)، وإمكانية ضبط البيئة بدقة لتناسب احتياجات تطبيق Node.js الخاص بك.
في هذا الدليل التفصيلي، سنمر بجميع الخطوات: من شراء الخادم وتثبيت Node.js إلى إعداد النطاق وشهادة SSL ومدير العمليات PM2. ستتعلم كيف تجعل موقعك مستقرًا وسريعًا وآمنًا. هيا بنا!
الخطوة 1: إعداد VPS والاتصال بالخادم
أولاً، تحتاج إلى استئجار VPS. أي مزود مشهور سيفي بالغرض: DigitalOcean أو Linode أو Vultr أو نظائرها المحلية. الحد الأدنى من التكوين لتطبيق صغير هو 1 vCPU و 1 GB RAM (مع Ubuntu 20.04 أو 22.04 LTS).
بعد إنشاء الخادم، ستحصل على عنوان IP وكلمة مرور الجذر (root). نتصل عبر SSH:
ssh root@عنوان_IP_الخاص_بكإذا كنت تستخدم macOS أو Linux، فإن عميل SSH مدمج بالفعل. على Windows، يمكنك استخدام PowerShell أو Putty.
نقوم فورًا بتحديث النظام:
apt update && apt upgrade -yنصيحة: قم بإنشاء مستخدم منفصل (ليس root) للعمل اليومي. هذا يعزز الأمان:
adduser myuserusermod -aG sudo myusersu - myuserتثبيت Node.js و npm
سنقوم بتثبيت أحدث إصدار ثابت من Node.js عبر NodeSource — هذه هي الطريقة الأكثر موثوقية:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejsنتحقق من الإصدارات:
node --version # v20.x.xnpm --version # 10.x.xممتاز! الآن لدينا بيئة لتشغيل كود JavaScript على الخادم.
الخطوة 2: تحميل التطبيق على الخادم وتثبيت التبعيات
هناك عدة طرق لنقل الكود. أسهلها للمبتدئين هو استخدام git clone. إذا كان كودك مخزنًا على GitHub/GitLab، قم بتنفيذ:
git clone https://github.com/حسابك/مستودعك.git /var/www/myappcd /var/www/myappإذا كان المستودع خاصًا، فقم بإعداد مفاتيح SSH أو استخدم Personal Access Token.
طريقة بديلة — تحميل الملفات عبر SCP (من وحدة التحكم المحلية لديك):
scp -r /المسار/إلى/مشروعك myuser@عنوان_IP_الخاص_بك:/var/www/myappبعد نقل الكود، نقوم بتثبيت التبعيات:
cd /var/www/myappnpm install --productionالعلامة --production تضمن عدم تثبيت تبعيات التطوير (الاختبارات، أدوات البناء، إلخ)، مما يوفر المساحة ويعزز الأمان.
إعداد متغيرات البيئة
لا تقم أبدًا بتخزين كلمات المرور ومفاتيح API في الكود. قم بإنشاء ملف .env في جذر المشروع:
nano .envمثال على المحتوى:
PORT=3000DB_HOST=localhostDB_USER=myuserDB_PASS=supersecretJWT_SECRET=myjwtsecret123تأكد من إضافة هذا الملف إلى .gitignore. لقراءة المتغيرات في الكود، استخدم الحزمة dotenv (يجب أن تكون موجودة بالفعل في تبعياتك).
الخطوة 3: تشغيل التطبيق مع PM2 وإعداد التشغيل التلقائي
إذا قمت بتشغيل node app.js وأغلقت جلسة SSH — سيتوقف التطبيق. نحتاج إلى مدير عمليات يحافظ على تشغيل التطبيق 24/7. PM2 هو الخيار الأمثل لـ Node.js.
نقوم بتثبيت PM2 عالميًا:
sudo npm install -g pm2نقوم بتشغيل التطبيق:
pm2 start app.js --name "myapp"إذا كان تطبيقك يستخدم المنفذ 3000،