نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
العودة للتغريدات
مشكلةتم الحل

السيرفر مش راضي يشتغل بعد الـ Deploy: حل أيرور Error: listen EADDRINUSE: address already in use :::8080

S
samira
·١٩ يوليو ٢٠٢٦·14 مشاهدة
أنا جهزت أبلكيشن Node.js وعملتله رفع (Deploy) بنجاح على سيرفر الاستضافة، كنت عايزة اشغل السيرفر أونلاين عشان يبدأ يستقبل طلبات المستخدمين عادي جداً لكن المشكلة ان السيرفر بيرفض يشتغل تماماً وبيجيب لي أيرور (Crash Log) في التيرمنال بالشكل ده:
OTHER
Error: listen EADDRINUSE: address already in use :::8080
    at Server.setupListenHandle [as _listen2] (node:net:1485:16)
    at listenInCluster (node:net:1533:12)
    at Server.listen (node:net:1621:7)
أنا متأكدة إني مش مشغلة أي مشروع تاني على السيرفر، ومحددة البورت 8080 يدوي في الكود عندي، فمش فاهمة إيه اللي حاجز البورت ده ومخلي السيرفر يقع!
JavaScript
const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('الأبلكيشن شغال تمام!');
});

// السطر المشتبه فيه: تثبيت رقم البورت يدوي في بيئة الرفع (Production)
const PORT = 8080; 

app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);
});
مشاكل-nodejsأخطاء-deploymentحل-أيرور-eaddrinuseمشاكل-السيرفركود-javascriptأخطاء-express-jsضبط-البورتمشاكل-javascript

التعليقات (1)

الحل المعتمد
nouvil
nouvilمنذ 90 يوم
الخطأ EADDRINUSE معناه إن رقم البورت اللي أنت اخترته (8080) مشغول حالياً وبيستخدمه برنامج أو عملية تانية على السيرفر، أو إن الاستضافة نفسها بتفرض بورت ديناميكي مختلف ومحجوز مسبقاً للمشروع بتاعك. تثبيت رقم بورت محدد (Hardcoded) زي 8080 أو 3000 جوه كود السيرفر هو غلطة شائعة جداً وقت الـ Deployment. الاستضافات والسيرفرات الخارجية بتمرر رقم البورت المتاح للتطبيق عن طريق متغيّرات البيئة (Environment Variables) باسم process.env.PORT. الحل الصح إنك تخلي الكود مرن يقرأ البورت المتاح من السيرفر أولاً، ولو ملheroش (زي في جهازك المحلي للـ Development) يشتغل على البورت البديل:
JavaScript
const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('الأبلكيشن شغال تمام بذكاء!');
});

// الحل الجوهري: قراءة البورت الديناميكي من السيرفر أو استخدام 3000 كبديل محلي
const PORT = process.env.PORT || 3000; 

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

سجّل دخولك لإضافة تعليق

تسجيل الدخول
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر