نشر تطبيق JavaScript على VPS: دليل خطوة بخطوة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة: لماذا نشر تطبيق JavaScript على VPS؟

تطوير تطبيق ويب حديث باستخدام JavaScript (Node.js) هو نصف المهمة فقط. النصف الثاني، الذي لا يقل أهمية، هو النشر، أي نشر مشروعك على خادم حقيقي يمكن الوصول إليه عبر الإنترنت. استخدام خادم خاص افتراضي (VPS) يمنحك تحكمًا كاملاً في البيئة، على عكس الاستضافة المشتركة. يمكنك تكوين الخادم وفقًا لاحتياجاتك، وتثبيت أي تبعيات، وضمان أداء عالٍ.

في هذا الدليل، سنشرح خطوة بخطوة عملية نشر تطبيق JavaScript (Node.js) نموذجي على VPS. سنغطي جميع المراحل: من الإعداد الأولي للخادم إلى تشغيل التطبيق في وضع الإنتاج باستخدام مدير العمليات PM2 والخادم الوكيل العكسي Nginx. المقالة موجهة للمطورين الذين لديهم معرفة أساسية بـ Node.js وسطر أوامر Linux.



1. تجهيز VPS والإعداد الأولي

الخطوة الأولى هي استئجار VPS من أي مزود (DigitalOcean، Linode، Vultr أو نظائرها الروسية). الخطة الدنيا الموصى بها: 1 vCPU، 1-2 GB RAM. نظام التشغيل: Ubuntu 22.04 LTS (أو أحدث).



1.1. الاتصال بالخادم عبر SSH

بعد الحصول على عنوان IP وكلمة مرور root، اتصل بالخادم من الطرفية الخاصة بك:

ssh root@your_server_IP

إذا كنت تستخدم مفتاح SSH (موصى به)، حدد المسار إلى المفتاح الخاص:

ssh -i ~/.ssh/id_rsa root@your_server_IP


1.2. إنشاء مستخدم وأمان أساسي

لا تعمل أبدًا كمستخدم root بشكل دائم. أنشئ مستخدمًا جديدًا وامنحه صلاحيات sudo:

adduser myuserusermod -aG sudo myuser

بعد ذلك، قم بإعداد مفتاح SSH للمستخدم الجديد (انسخ المفتاح العام من جهازك المحلي) وقم بتعطيل تسجيل الدخول بكلمة مرور في ملف /etc/ssh/sshd_config:

PasswordAuthentication no

أعد تشغيل خدمة SSH: sudo systemctl restart sshd.



1.3. تثبيت البرامج الضرورية

قم بتحديث مدير الحزم وقم بتثبيت Node.js (نوصي بإصدار LTS عبر NodeSource)، Git و Nginx:

sudo apt update && sudo apt upgrade -ycurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejs git nginx

تحقق من الإصدارات: node -v و npm -v.



2. استنساخ المستودع وتثبيت التبعيات

الآن بعد أن أصبح الخادم جاهزًا، دعنا ننقل كود تطبيقك إليه.



2.1. استنساخ المشروع

انتقل إلى الدليل الرئيسي للمستخدم واستنسخ المستودع من GitHub (أو أي استضافة Git أخرى):

cd /home/myusergit clone https://github.com/your_username/your_repository.git myappcd myapp


2.2. تثبيت التبعيات والتشغيل التجريبي

قم بتثبيت جميع حزم npm المحددة في package.json:

npm install

إذا كان المشروع يستخدم متغيرات بيئة (على سبيل المثال، لقاعدة البيانات أو مفاتيح API)، فأنشئ ملف .env واملأه:

nano .env

مثال على المحتوى:

PORT=3000DATABASE_URL=mongodb://localhost:27017/mydbNODE_ENV=production

قم بتشغيل التطبيق يدويًا للتأكد من أنه يعمل:

node app.js

تحقق من إمكانية الوصول عبر curl http://localhost:3000 أو افتح في المتصفح http://your_IP:3000 (بعد السماح بالمنفذ في جدار الحماية). إذا كان كل شيء يعمل، أوقف العملية (Ctrl+C).



3. إعداد مدير العمليات PM2

التطبيق الذي يتم تشغيله عبر node app.js سيتوقف بمجرد إغلاق جلسة SSH. للتشغيل المستمر، يُستخدم PM2 — وهو مدير عمليات لـ Node.js يقوم تلقائيًا بإعادة تشغيل التطبيق في حالة تعطله ويدير

المدونات

توصيات الكتب