اذهب إلى المحتوى
  • 0

اطلاق المشروع على الانترت

احمد قايد

السؤال

 حاولت في الايام السابقة رفع التطبيق بشتا الطرق 

وعندما احاول رفع الخادم على RENDER

هذا الخطاء يظهر  لي :

Nov 1 06:40:54 AM  Node.js v18.18.2
Nov 1 06:41:24 AM  ==> Requesting node version 18.x
Nov 1 06:41:26 AM  ==> Using Node version 18.18.2 via /opt/render/project/src/package.json
Nov 1 06:41:26 AM  ==> Docs on specifying a Node version: https://render.com/docs/node-version
Nov 1 06:41:26 AM  ==> Running 'node app.js'
Nov 1 06:41:29 AM  ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED ::1:5432
Nov 1 06:41:29 AM      at Client._connectionCallback (/opt/render/project/src/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:131:24)
Nov 1 06:41:29 AM      at Client._handleErrorWhileConnecting (/opt/render/project/src/node_modules/pg/lib/client.js:327:19)
Nov 1 06:41:29 AM      at Client._handleErrorEvent (/opt/render/project/src/node_modules/pg/lib/client.js:337:19)
Nov 1 06:41:29 AM      at Connection.emit (node:events:517:28)
Nov 1 06:41:29 AM      at Socket.reportStreamError (/opt/render/project/src/node_modules/pg/lib/connection.js:58:12)
Nov 1 06:41:29 AM      at Socket.emit (node:events:517:28)
Nov 1 06:41:29 AM      at emitErrorNT (node:internal/streams/destroy:151:8)
Nov 1 06:41:29 AM      at emitErrorCloseNT (node:internal/streams/destroy:116:3)
Nov 1 06:41:29 AM      at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
Nov 1 06:41:29 AM    parent: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:41:29 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:41:29 AM      errno: -111,
Nov 1 06:41:29 AM      code: 'ECONNREFUSED',
Nov 1 06:41:29 AM      syscall: 'connect',
Nov 1 06:41:29 AM      address: '::1',
Nov 1 06:41:29 AM      port: 5432
Nov 1 06:41:29 AM    },
Nov 1 06:41:29 AM    original: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:41:29 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:41:29 AM      errno: -111,
Nov 1 06:41:29 AM      code: 'ECONNREFUSED',
Nov 1 06:41:29 AM      syscall: 'connect',
Nov 1 06:41:29 AM      address: '::1',
Nov 1 06:41:29 AM      port: 5432
Nov 1 06:41:29 AM    }
Nov 1 06:41:29 AM  }
Nov 1 06:41:29 AM  node:internal/process/promises:288
Nov 1 06:41:29 AM              triggerUncaughtException(err, true /* fromPromise */);
Nov 1 06:41:29 AM              ^
Nov 1 06:41:29 AM  
Nov 1 06:41:29 AM  ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED ::1:5432
Nov 1 06:41:29 AM      at Client._connectionCallback (/opt/render/project/src/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:131:24)
Nov 1 06:41:29 AM      at Client._handleErrorWhileConnecting (/opt/render/project/src/node_modules/pg/lib/client.js:327:19)
Nov 1 06:41:29 AM      at Client._handleErrorEvent (/opt/render/project/src/node_modules/pg/lib/client.js:337:19)
Nov 1 06:41:29 AM      at Connection.emit (node:events:517:28)
Nov 1 06:41:29 AM      at Socket.reportStreamError (/opt/render/project/src/node_modules/pg/lib/connection.js:58:12)
Nov 1 06:41:29 AM      at Socket.emit (node:events:517:28)
Nov 1 06:41:29 AM      at emitErrorNT (node:internal/streams/destroy:151:8)
Nov 1 06:41:29 AM      at emitErrorCloseNT (node:internal/streams/destroy:116:3)
Nov 1 06:41:29 AM      at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
Nov 1 06:41:29 AM    parent: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:41:29 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:41:29 AM      errno: -111,
Nov 1 06:41:29 AM      code: 'ECONNREFUSED',
Nov 1 06:41:29 AM      syscall: 'connect',
Nov 1 06:41:29 AM      address: '::1',
Nov 1 06:41:29 AM      port: 5432
Nov 1 06:41:29 AM    },
Nov 1 06:41:29 AM    original: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:41:29 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:41:29 AM      errno: -111,
Nov 1 06:41:29 AM      code: 'ECONNREFUSED',
Nov 1 06:41:29 AM      syscall: 'connect',
Nov 1 06:41:29 AM      address: '::1',
Nov 1 06:41:29 AM      port: 5432
Nov 1 06:41:29 AM    }
Nov 1 06:41:29 AM  }
Nov 1 06:41:29 AM  
Nov 1 06:41:29 AM  Node.js v18.18.2
Nov 1 06:42:22 AM  ==> Requesting node version 18.x
Nov 1 06:42:24 AM  ==> Using Node version 18.18.2 via /opt/render/project/src/package.json
Nov 1 06:42:24 AM  ==> Docs on specifying a Node version: https://render.com/docs/node-version
Nov 1 06:42:24 AM  ==> Running 'node app.js'
Nov 1 06:42:27 AM  ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED ::1:5432
Nov 1 06:42:27 AM      at Client._connectionCallback (/opt/render/project/src/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:131:24)
Nov 1 06:42:27 AM      at Client._handleErrorWhileConnecting (/opt/render/project/src/node_modules/pg/lib/client.js:327:19)
Nov 1 06:42:27 AM      at Client._handleErrorEvent (/opt/render/project/src/node_modules/pg/lib/client.js:337:19)
Nov 1 06:42:27 AM      at Connection.emit (node:events:517:28)
Nov 1 06:42:27 AM      at Socket.reportStreamError (/opt/render/project/src/node_modules/pg/lib/connection.js:58:12)
Nov 1 06:42:27 AM      at Socket.emit (node:events:517:28)
Nov 1 06:42:27 AM      at emitErrorNT (node:internal/streams/destroy:151:8)
Nov 1 06:42:27 AM      at emitErrorCloseNT (node:internal/streams/destroy:116:3)
Nov 1 06:42:27 AM      at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
Nov 1 06:42:27 AM    parent: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:42:27 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:42:27 AM      errno: -111,
Nov 1 06:42:27 AM      code: 'ECONNREFUSED',
Nov 1 06:42:27 AM      syscall: 'connect',
Nov 1 06:42:27 AM      address: '::1',
Nov 1 06:42:27 AM      port: 5432
Nov 1 06:42:27 AM    },
Nov 1 06:42:27 AM    original: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:42:27 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:42:27 AM      errno: -111,
Nov 1 06:42:27 AM      code: 'ECONNREFUSED',
Nov 1 06:42:27 AM      syscall: 'connect',
Nov 1 06:42:27 AM      address: '::1',
Nov 1 06:42:27 AM      port: 5432
Nov 1 06:42:27 AM    }
Nov 1 06:42:27 AM  }
Nov 1 06:42:27 AM  node:internal/process/promises:288
Nov 1 06:42:27 AM              triggerUncaughtException(err, true /* fromPromise */);
Nov 1 06:42:27 AM              ^
Nov 1 06:42:27 AM  
Nov 1 06:42:27 AM  ConnectionRefusedError [SequelizeConnectionRefusedError]: connect ECONNREFUSED ::1:5432
Nov 1 06:42:27 AM      at Client._connectionCallback (/opt/render/project/src/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:131:24)
Nov 1 06:42:27 AM      at Client._handleErrorWhileConnecting (/opt/render/project/src/node_modules/pg/lib/client.js:327:19)
Nov 1 06:42:27 AM      at Client._handleErrorEvent (/opt/render/project/src/node_modules/pg/lib/client.js:337:19)
Nov 1 06:42:27 AM      at Connection.emit (node:events:517:28)
Nov 1 06:42:27 AM      at Socket.reportStreamError (/opt/render/project/src/node_modules/pg/lib/connection.js:58:12)
Nov 1 06:42:27 AM      at Socket.emit (node:events:517:28)
Nov 1 06:42:27 AM      at emitErrorNT (node:internal/streams/destroy:151:8)
Nov 1 06:42:27 AM      at emitErrorCloseNT (node:internal/streams/destroy:116:3)
Nov 1 06:42:27 AM      at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
Nov 1 06:42:27 AM    parent: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:42:27 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:42:27 AM      errno: -111,
Nov 1 06:42:27 AM      code: 'ECONNREFUSED',
Nov 1 06:42:27 AM      syscall: 'connect',
Nov 1 06:42:27 AM      address: '::1',
Nov 1 06:42:27 AM      port: 5432
Nov 1 06:42:27 AM    },
Nov 1 06:42:27 AM    original: Error: connect ECONNREFUSED ::1:5432
Nov 1 06:42:27 AM        at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1555:16) {
Nov 1 06:42:27 AM      errno: -111,
Nov 1 06:42:27 AM      code: 'ECONNREFUSED',
Nov 1 06:42:27 AM      syscall: 'connect',
Nov 1 06:42:27 AM      address: '::1',
Nov 1 06:42:27 AM      port: 5432
Nov 1 06:42:27 AM    }
Nov 1 06:42:27 AM  }

مع انه يشتغل لدي في الجهاز بلا مشاكل 

 

ولاحظت ان اغلب المطورين يستخدمون {pool} للاتصال بقواعد البيانات بدلا من Sequelize ام انني فهمت بشكل خاطئ؟

image.thumb.png.90d1b85fd9fc9de36809fffcc24e3851.png

server-main.rar

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

مرحباً احمد,

قمت بالإطلاع على مشروعك بالكامل , هناك خطأ في الاتصال بقاعدة البيانات .
يوجد بعض الملاحظات والخطوات , ارجو إتباعها وإخباري ما إذا تم حل المشكلة أم لاء :

  1. في ملف database.js قمت بوضع host: process.env.DB_HOST, وفي ملف .env قمت بتعريف DB_HOST = localhost .
    عند الرفع يجب عليك تغييرها , لذلك هي تعمل على جهازك من غير مشاكل , بينما عند الرفع يعطيك خطأ في الاتصال .
  2. بعد تغييرها قم بإطلاق المشروع .
  3. إذا أظهر خطأ بخصوص ssl , قم بإستبدال المتغير db بالكود التالي في ملف database.js  :
    const db = new Sequelize(
        process.env.DB_NAME,
        process.env.DB_USER,
        process.env.DB_PASS,
        {
        host:process.env.DB_HOST,
        dialect: 'postgres',
        logging: false,
        dialectOptions: { // الكود الذي يجب عليك تضمينه
            ssl: {
              require: true,
              rejectUnauthorized: false
            }
          }
    
    })
  4. ربما يظهر لك خطأ بخصوص التحقق مع قاعدة البيانات , تأكد من كلمة السر  , أو قم بتغييرها من خلال الخطوات التالية :
    1. قم بتسجيل الدخول إلى خادم قاعدة بيانات PostgreSQL باستخدام أداة مثل psql أو واجهة رسومية.
    2. اتصل بقاعدة البيانات باستخدام مستخدم "المستخدم_الخاص_بك" :
      psql -U postgres
    3. بمجرد الاتصال، يمكنك إعادة تعيين كلمة المرور لمستخدم "المستخدم_الخاص_بك" باستخدام الأمر التالي:
      ALTER USER اسم_المستخدم_الخاص_بك WITH PASSWORD 'new_password';
      
    4. بعد إعادة تعيين كلمة المرور، قم بتحديث تكوين Sequelize أو متغيرات البيئة ( .env file )  باستخدام كلمة المرور الجديدة.

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 ساعة قال Hikmat Jaafer:

مرحباً احمد,

قمت بالإطلاع على مشروعك بالكامل , هناك خطأ في الاتصال بقاعدة البيانات .
يوجد بعض الملاحظات والخطوات , ارجو إتباعها وإخباري ما إذا تم حل المشكلة أم لاء :

  1. في ملف database.js قمت بوضع host: process.env.DB_HOST, وفي ملف .env قمت بتعريف DB_HOST = localhost .
    عند الرفع يجب عليك تغييرها , لذلك هي تعمل على جهازك من غير مشاكل , بينما عند الرفع يعطيك خطأ في الاتصال .
  2. بعد تغييرها قم بإطلاق المشروع .
  3. إذا أظهر خطأ بخصوص ssl , قم بإستبدال المتغير db بالكود التالي في ملف database.js  :
    const db = new Sequelize(
        process.env.DB_NAME,
        process.env.DB_USER,
        process.env.DB_PASS,
        {
        host:process.env.DB_HOST,
        dialect: 'postgres',
        logging: false,
        dialectOptions: { // الكود الذي يجب عليك تضمينه
            ssl: {
              require: true,
              rejectUnauthorized: false
            }
          }
    
    })
  4. ربما يظهر لك خطأ بخصوص التحقق مع قاعدة البيانات , تأكد من كلمة السر  , أو قم بتغييرها من خلال الخطوات التالية :
    1. قم بتسجيل الدخول إلى خادم قاعدة بيانات PostgreSQL باستخدام أداة مثل psql أو واجهة رسومية.
    2. اتصل بقاعدة البيانات باستخدام مستخدم "المستخدم_الخاص_بك" :
      psql -U postgres
    3. بمجرد الاتصال، يمكنك إعادة تعيين كلمة المرور لمستخدم "المستخدم_الخاص_بك" باستخدام الأمر التالي:
      ALTER USER اسم_المستخدم_الخاص_بك WITH PASSWORD 'new_password';
      
    4. بعد إعادة تعيين كلمة المرور، قم بتحديث تكوين Sequelize أو متغيرات البيئة ( .env file )  باستخدام كلمة المرور الجديدة.

 

ماذا يجب علي تغير localhost? 

يعني ماذت اضع بدلا من localhost استاذي

بتاريخ 8 ساعة قال Hikmat Jaafer:

مرحباً احمد,

قمت بالإطلاع على مشروعك بالكامل , هناك خطأ في الاتصال بقاعدة البيانات .
يوجد بعض الملاحظات والخطوات , ارجو إتباعها وإخباري ما إذا تم حل المشكلة أم لاء :

  1. في ملف database.js قمت بوضع host: process.env.DB_HOST, وفي ملف .env قمت بتعريف DB_HOST = localhost .
    عند الرفع يجب عليك تغييرها , لذلك هي تعمل على جهازك من غير مشاكل , بينما عند الرفع يعطيك خطأ في الاتصال .
  2. بعد تغييرها قم بإطلاق المشروع .
  3. إذا أظهر خطأ بخصوص ssl , قم بإستبدال المتغير db بالكود التالي في ملف database.js  :
    const db = new Sequelize(
        process.env.DB_NAME,
        process.env.DB_USER,
        process.env.DB_PASS,
        {
        host:process.env.DB_HOST,
        dialect: 'postgres',
        logging: false,
        dialectOptions: { // الكود الذي يجب عليك تضمينه
            ssl: {
              require: true,
              rejectUnauthorized: false
            }
          }
    
    })
  4. ربما يظهر لك خطأ بخصوص التحقق مع قاعدة البيانات , تأكد من كلمة السر  , أو قم بتغييرها من خلال الخطوات التالية :
    1. قم بتسجيل الدخول إلى خادم قاعدة بيانات PostgreSQL باستخدام أداة مثل psql أو واجهة رسومية.
    2. اتصل بقاعدة البيانات باستخدام مستخدم "المستخدم_الخاص_بك" :
      psql -U postgres
    3. بمجرد الاتصال، يمكنك إعادة تعيين كلمة المرور لمستخدم "المستخدم_الخاص_بك" باستخدام الأمر التالي:
      ALTER USER اسم_المستخدم_الخاص_بك WITH PASSWORD 'new_password';
      
    4. بعد إعادة تعيين كلمة المرور، قم بتحديث تكوين Sequelize أو متغيرات البيئة ( .env file )  باستخدام كلمة المرور الجديدة.

 

هل هذه ستفيدني؟

image.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...