نشر تطبيق JavaScript على VPS: دليل خطوة بخطوة من الألف إلى الياء

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

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

ابدأ الدورة

مقدمة: لماذا 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،

المدونات

توصيات الكتب