MongoDB部署:零基础搞定 MongoDB 部署
如果你刚接触服务器运维,准备在 Linux 上部署 MongoDB 作为项目数据库,这篇文章会带你一步步完成整个过程。
从检查环境、安装配置到验证运行,所有操作都有明确的命令和解释,照着做就能跑起来。
安装前的环境检查
在正式开始部署之前,先确认服务器满足 MongoDB 的基本要求。
MongoDB 官方主要支持 64 位的 Linux 发行版,比如 Ubuntu 20.04+、CentOS 7+ 或 Debian 10+。
登录服务器后,用以下命令查看系统版本:
cat /etc/os-release
如果看到 NAME 和 VERSION_ID 信息,说明可以继续。
另外,MongoDB 需要至少 4GB 内存(生产环境建议更大),用 free -h 检查可用内存。
硬盘空间同样重要,df -h 确认 /var/lib/mongo 目录所在分区有足够剩余空间。
通过包管理器安装 MongoDB
MongoDB 官方提供了对应的软件源,通过包管理器安装最省心。
以 Ubuntu 22.04 为例,其他发行版步骤类似。
第一步:导入 MongoDB GPG 公钥
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
第二步:添加 MongoDB 源
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
注意:jammy 对应 Ubuntu 22.04,如果你用的是 20.04 就改成 focal。
第三步:更新包列表并安装
sudo apt update
sudo apt install -y mongodb-org
安装完成后,可以用 mongod --version 查看版本号,确认安装成功。
启动服务与设置开机自启
MongoDB 安装后不会自动启动。
执行以下命令:
sudo systemctl start mongod
sudo systemctl enable mongod
然后检查服务状态:
sudo systemctl status mongod
如果看到 active (running) 绿色字样,说明数据库已经运行起来了。
如果进程没有启动,下一步的避坑指南会有解决办法。
配置防火墙与远程访问(可选)
默认情况下 MongoDB 只监听本地 127.0.0.1 的 27017 端口,外部无法连接。
如果需要在其他机器上访问数据库,需要修改配置并开放防火墙。
修改配置文件
sudo vim /etc/mongod.conf
找到 net: 部分,将 bindIp 从 127.0.0.1 改为 0.0.0.0 或者指定需要访问的内网 IP:
net:
port: 27017
bindIp: 0.0.0.0
保存后重启服务:
sudo systemctl restart mongod
开放防火墙端口
如果服务器启用了 UFW(Ubuntu)或 firewalld(CentOS),执行:
sudo ufw allow 27017/tcp
如果使用云服务器,还需要在安全组规则中放行 27017 端口。
常见安装报错及解决方法
问题1:Failed to start mongod.service: Unit mongod.service not found
这种情况通常是因为安装过程中包源配置错误或依赖缺失。
先检查源文件是否正确,再用 sudo apt list --installed | grep mongo 确认 mongodb-org 是否安装。
如果没装,重新执行安装步骤。
问题2:启动后 Active: failed,journal 中提示 permissions 错误
MongoDB 数据目录 /var/lib/mongo 或日志目录 /var/log/mongodb 权限不对。
使用以下命令修复:
sudo chown -R mongodb:mongodb /var/lib/mongo
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo systemctl restart mongod
问题3:远程连接时提示 Connection refused
先检查 netstat -tulpn | grep 27017 确认服务是否监听在 0.0.0.0 地址上。
如果只看到 127.0.0.1:27017,说明配置未生效。
再确认防火墙和安全组均已放行。
验证 MongoDB 是否可正常使用
最简单的验证方式是本地连接测试。
在服务器上执行:
mongosh
如果进入 test> 命令行,说明连接成功。
输入 show dbs 可以看到默认数据库列表。
使用 exit 退出。
如果想测试远程连接,在客户端机器上安装 MongoDB Shell(mongosh),然后执行:
mongosh --host 服务器公网IP --port 27017
如果能正常进入命令行,部署就全部完成了。
如果你正在准备 MongoDB 部署,建议按照本文步骤先完整走一遍,再根据实际环境微调配置。
遇到异常时优先回看常见问题部分,大部分报错都能找到对应解法。
后续可以根据需要开启认证或配置副本集,进一步提高安全性。