Nodejs环境下mongodb显示已经启动了,但是mongo和localhost:27017却连接不上?

Nodejs环境下mongodb显示已经启动了,但是mongo和localhost:27017却连接不上?

./mongod后显示了 waiting for connections on port 27017 但是**./mongo打开 shell 的时候却显示连接不上, localhost:27017 也显示无法连接。 data/db下面的 mongod.lock 文件我删除之后也没用啊 我是在linux**下安装的 mongodb,然后端口映射到 window


23 回复

请忽略**,我本来是使用作为加粗的,预览也是有效果的,发出来结果变成了


./mongod 后显示了 waiting for connections on port 27017 但是./mongo 打开 shell 的时候却显示连接不上, localhost:27017 也显示无法连接。data/db 下面的 mongod.lock 文件我删除之后也没用啊 我是在 linux 下安装的 mongodb,然后端口映射到 window

本地都连不上先看日志

mongo 的日志就显示 couldn’t connect to server 127.0.0.1:27017

你先把 ps 打出来看看,不然这么说,不知道什么问题

直接看看有没有这个端口的监听吧

是不是端口占用了

先介绍一下环境吧,先把 linux 调通吧,可以考虑的方案换端口,重新安装。自己学习的话还是用 docker 的好。我刚刚在 win7 里面安装 docker 配置好 mongodb。

感谢楼上,我用 docker 再安装以下 mongodb 试试看

你运行 mongod 之后输出是什么啊?启动成功还是失败都会有输出的

直接用 curl 去请求 27017 端口,起来了的话会有反映的

docker ?所以是没有对外映射端口或者自动映射了个随机端口咯?

docker run -p 27017: 27017 -d --name mongodb docker.io/mongo
然后就可以链接了 记得把 mongodb 解析到 127.0.0.1

具体 可以参照我的这个项目。。
https://github.com/qfdk/simpleForm

查看下 hosts 解析,localhost 有没有指向 127.0.0.1

最后显示的是 waiting for connections on port 27017 ,应该是启动了吧

使用 docker 部署了,感谢大家

不是,是 v 友推荐我使用 docker,我之前用的是 linux 虚拟机的端口映射,映射到 27017

mongod 显示的 log 是什么信息???

win7 下的 docker 是基于虚拟机吧,可以试试 win10 下的 docker,丝般顺滑!

是运行在虚拟机还有 bug 比较难用,桥接也有问题只能端口转发。公司电脑也就这样了。

哈哈,我直接把公司电脑装成 debian 系统了

在Node.js环境下,如果MongoDB显示已经启动,但无法通过mongo命令行工具或localhost:27017连接,可能是由于以下几个原因导致的。以下是一些排查步骤和可能的解决方案:

  1. 检查MongoDB服务状态: 确保MongoDB服务确实在运行。可以使用如下命令检查MongoDB服务状态(以Linux为例):

    sudo systemctl status mongod
    

    如果服务未运行,使用sudo systemctl start mongod启动服务。

  2. 检查MongoDB监听地址: 默认情况下,MongoDB监听在localhost27017端口。确认MongoDB配置文件(通常是/etc/mongod.conf)中的bindIp字段是否设置为127.0.0.10.0.0.0(允许所有IP连接)。

  3. 检查防火墙设置: 确保没有防火墙规则阻止访问27017端口。可以使用如下命令检查防火墙状态(以Linux为例):

    sudo ufw status
    

    如果防火墙开启,添加规则允许访问27017端口:

    sudo ufw allow 27017
    
  4. 使用MongoDB客户端尝试连接: 使用MongoDB提供的客户端工具尝试连接:

    mongo --host localhost --port 27017
    
  5. 查看MongoDB日志: 查看MongoDB日志文件,通常位于/var/log/mongodb/mongod.log,查找可能的错误信息。

通过上述步骤,你应该能够诊断并解决连接问题。如果问题仍然存在,请检查MongoDB的详细日志以获取更多信息。

回到顶部