You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

后端连接报ECONNREFUSED 127.0.0.1:5000错误errno:-4078如何解决?

故障根因定位

你遇到的连接拒绝报错核心原因是配置参数写错,导致服务根本没有正常启动:
你的数据库配置代码中,Sequelize的端口参数错误使用了process.env.PORT,而你实际定义的数据库端口环境变量是DB_PORT,会触发连锁问题:

  1. Sequelize会尝试用Express服务的端口(默认5000)连接PostgreSQL,而PostgreSQL实际运行在5432端口,直接导致数据库连接失败
  2. 数据库连接失败后,你的启动函数会进入catch分支打印错误,不会执行后续的app.listen(PORT)逻辑,Express服务根本没有启动,访问127.0.0.1:5000自然会报ECONNREFUSED错误

修复方案

  • 第一步:修改数据库配置文件的端口参数,替换为正确的数据库端口变量
require('dotenv').config()
const {Sequelize} = require('sequelize')

module.exports = new Sequelize(
    process.env.DB_NAME,
    process.env.DB_USER,
    process.env.DB_PASSWORD,
    {
        dialect: 'postgres',
        host: process.env.DB_HOST,
        port: process.env.DB_PORT // 此处原代码错误写为process.env.PORT,修改为DB_PORT即可
    }
)
  • 第二步:确认.env文件配置完整正确,参考格式如下:
PORT=5000
DB_NAME=你的数据库名称
DB_USER=PostgreSQL登录用户名
DB_PASSWORD=PostgreSQL登录密码
DB_HOST=127.0.0.1
DB_PORT=5432
  • 第三步:重启Node服务,观察控制台输出,如果看到Server started on port 5000的日志,说明服务启动成功,此时再调用接口就不会出现连接拒绝问题。如果还是报错,查看控制台打印的数据库错误信息,按提示检查PostgreSQL服务是否启动、账号密码是否正确、数据库是否已创建即可。

内容的提问来源于stack exchange,提问作者rboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:27:05