كيفية نشر node.js على ubuntu 24.04 (إعداد الإنتاج)

Node.js هو بيئة تشغيل جافا سكريبت قوية لبناء تطبيقات قابلة للتطوير. عند نقل التطبيقات إلى بيئة الإنتاج، تحتاج إلى تكوين خادمك بشكل آمن وفعال. في هذا الدليل، ستتعلم كيفية إعداد تطبيق Node.js جاهز للإنتاج على Ubuntu 24.04 باستخدام PM2 وNginx وLet’s Encrypt.


المتطلبات الأساسية

قبل البدء، تأكد من أن لديك:

  • خادم Ubuntu 24.04.
  • مستخدم غير جذري مع صلاحيات sudo.
  • اسم نطاق يشير إلى عنوان IP الخاص بخادمك.

للمزيد من المعلومات حول Node.js، قم بزيارة الموقع الرسمي لـ Node.js.


الخطوة 1 — تثبيت node.js

يوفر Ubuntu 24.04 مستودعات محدثة. ومع ذلك، للحصول على أحدث إصدار LTS، استخدم NodeSource:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

تحقق من التثبيت:

node -v
npm -v

بمجرد اكتمال التثبيت، يجب أن يكون Node.js وnpm متاحين.


الخطوة 2 — إنشاء تطبيق node.js تجريبي

أولاً، قم بإنشاء مجلد وتهيئة مشروعك:

mkdir ~/myapp
cd ~/myapp
npm init -y
npm install express

الآن قم بإنشاء app.js:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Hello from Node.js on Ubuntu 24.04!');
});

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

قم بتشغيل التطبيق:

node app.js

ثم قم بزيارة http://your_server_ip:3000 للتأكد من أنه يعمل.


الخطوة 3 — إدارة العمليات باستخدام PM2

من الضروري الحفاظ على تشغيل التطبيقات في بيئة الإنتاج. لذلك، قم بتثبيت PM2:

sudo npm install -g pm2
pm2 start app.js
pm2 status

تمكين بدء تشغيل PM2 عند إعادة التشغيل:

pm2 startup systemd
pm2 save

لمزيد من التفاصيل، راجع وثائق PM2.


الخطوة 4 — تكوين nginx كوسيط عكسي

يضمن الوسيط العكسي إدارة سلسة لحركة المرور. ابدأ بتثبيت Nginx:

sudo apt install nginx -y

بعد ذلك، قم بإنشاء ملف تكوين جديد:

sudo nano /etc/nginx/sites-available/myapp

أدخل ما يلي:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

التفعيل وإعادة التشغيل:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

الآن يجب أن يعرض نطاقك تطبيق Node.js. لمزيد من التحسينات، راجع وثائق Nginx.


الخطوة 5 — تأمين التطبيق باستخدام SSL

من الضروري تشفير حركة المرور. دعنا نستخدم Certbot وLet’s Encrypt.

تثبيت certbot:

sudo apt install certbot python3-certbot-nginx -y

الحصول على شهادات SSL وتثبيتها:

sudo certbot --nginx -d your_domain.com -d www.your_domain.com

أخيراً، اختبر التجديد التلقائي:

sudo certbot renew --dry-run

الخطوة 6 — تقوية ومراقبة الخادم

الأمان ضروري. لذلك، قم بتكوين جدار الحماية UFW:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

مراقبة التطبيق باستخدام PM2:

pm2 monit

بالإضافة إلى ذلك، يمكنك دمج أدوات مراقبة الخادم للحصول على رؤى أعمق.


الخاتمة

لديك الآن إعداد Node.js جاهز للإنتاج على Ubuntu 24.04. مع إدارة PM2 للعمليات، وNginx كوسيط عكسي، وLet’s Encrypt لتأمين حركة المرور، أصبح تطبيقك قابلاً للتطوير وآمناً. لمزيد من الأدلة مثل هذا، تحقق من صفحة سيرتي الذاتية لرؤية مشاريع البنية التحتية ذات الصلة.

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