NodeJS ECONREFUSED with Postgres,我的地址有什么问题?

y3bcpkx1  于 2023-04-20  发布在  Node.js
关注(0)|答案(1)|浏览(113)

我有一个云服务器(ubuntu 18.04)与NodeJS,postgresql,sequelize.我的服务器启动,但无法连接到DB,我得到错误:connect ECONNREFUSED192.168.0.2:5432
如果我运行ss -tl
[tcp](https://i.stack.imgur.com/YQV6s.png
这是sequilize.js

export default new Sequelize(
    process.env.DB_NAME, 
    process.env.DB_USER, 
    process.env.DB_PASS, 
    {
        dialect: 'postgres',
        host: "127.0.0.1",
        port: 5432,
        define: {
            underscored: true
        },
        logging: false,
        timezone: 'Europe',
    }
)

我是linux新手,很抱歉,搞糊涂了。我试图在sequilize切换主机到192.168.0.2,错误是一样的。我如何解决这个问题?

e5nqia27

e5nqia271#

在这种情况下,最好尝试连接一些已知的工具,以确保您确实可以从您的主机访问该IP上的色情内容,并且数据库服务器响应并工作。
对于Postgres,有一个名为psql的命令行工具可以用途:

psql -h 127.0.0.1 -p 5432 -U $DB_USER $DB_NAME

您可以使用任何其他可以连接到Postgres的CLI或GUI工具,但请确保它在与您的Node应用程序运行的同一主机上本地运行。
如果您无法以这种方式连接,那么您的Node应用程序也将无法连接。
正如freakish在评论中已经注意到的那样,您的数据库可能不接受来自localhost的连接。如果您验证了这一点,请检查配置,特别是:listen_addresses
请参阅文档:

  • https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES

相关问题