Nodejs环境下centos安装Mongodb

Nodejs环境下centos安装Mongodb

请问,我在配置好mongo的时候运行 mongo命令。出现这种错误: MongoDB shell version: 2.6.3 connecting to: test 2015-01-16T04:55:36.360-0800 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2015-01-16T04:55:36.361-0800 Error: couldn’t connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed 我查了资料,把db下面 的mongodb.lock 文件给删掉,但是还是不行。请问问题出现在哪。


5 回复

请问,我在配置好mongo的时候运行 mongo命令。出现这种错误: MongoDB shell version: 2.6.3 connecting to: test 2015-01-16T04:55:36.360-0800 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused 2015-01-16T04:55:36.361-0800 Error: couldn’t connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed 我查了资料,把db下面 的mongodb.lock 文件给删掉,但是还是不行。请问问题出现在哪。


mongod 运行了吗?

错误很明显啊,mongod进程没启动,或者没有监听本地的27017

在Node.js环境下在CentOS上安装MongoDB时遇到连接问题是很常见的。根据你描述的情况,问题可能出在MongoDB服务没有正确启动或者配置文件有误。以下是一些步骤和示例代码来帮助你解决这个问题。

安装MongoDB

首先,确保你的CentOS系统是最新的,并且安装了必要的依赖包:

sudo yum update -y
sudo yum install -y gcc-c++ make

接着,添加MongoDB的官方仓库:

sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo

在打开的文件中添加以下内容:

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

保存并退出编辑器,然后安装MongoDB:

sudo yum install -y mongodb-org

启动和配置MongoDB

安装完成后,启动MongoDB服务并设置开机自启:

sudo systemctl start mongod
sudo systemctl enable mongod

检查MongoDB服务的状态以确保它正在运行:

sudo systemctl status mongod

验证MongoDB安装

现在尝试连接到MongoDB:

mongo

如果仍然报错,可以检查MongoDB的日志文件以获取更多信息:

sudo tail -f /var/log/mongodb/mongod.log

示例代码:Node.js连接MongoDB

如果你已经成功启动MongoDB,接下来可以使用Node.js连接到MongoDB。你需要先安装mongoosemongodb库:

npm install mongoose

然后,你可以创建一个简单的Node.js脚本来连接到MongoDB:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test', {
    useNewUrlParser: true,
    useUnifiedTopology: true
}).then(() => console.log('Connected to MongoDB'))
  .catch(err => console.error('Failed to connect to MongoDB', err));

这段代码会尝试连接到本地MongoDB实例上的test数据库。如果连接失败,它将输出错误信息。

通过以上步骤,你应该能够解决连接问题并顺利地在Node.js环境下使用MongoDB。

针对你在CentOS上安装和配置MongoDB时遇到的问题,可能的原因是MongoDB服务没有正确启动。以下是详细的步骤来帮助你在Node.js环境下正确安装和配置MongoDB:

安装MongoDB

首先确保你的系统是最新的,然后添加MongoDB的官方仓库,并安装MongoDB。

sudo yum update
sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo

在文件中添加以下内容:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

接着安装MongoDB:

sudo yum install -y mongodb-org

启动MongoDB服务

安装完成后,启动MongoDB服务并设置为开机自启:

sudo systemctl start mongod
sudo systemctl enable mongod

检查MongoDB是否正在运行:

sudo systemctl status mongod

验证MongoDB安装

现在你可以通过mongo命令行工具连接到MongoDB实例,验证MongoDB是否成功运行:

mongo

如果一切正常,你应该能看到类似如下的输出:

MongoDB shell version: 3.4.0
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>

如果你仍然看到“connection attempt failed”的错误信息,可能是因为防火墙阻止了MongoDB的端口(默认27017)访问,或者MongoDB配置文件中的绑定地址未设置正确。确保你的MongoDB配置文件(通常位于/etc/mongod.conf)中的bindIp选项包含正确的IP地址或0.0.0.0以允许所有接口访问。

例如,在mongod.conf中添加或修改如下行:

net:
  bindIp: 0.0.0.0

重启MongoDB服务使配置生效:

sudo systemctl restart mongod

通过以上步骤,你应该能够解决连接MongoDB时遇到的问题。

回到顶部