温馨提示×

Debian怎么配置MongoDB

小樊
38
2026-08-28 15:11:13
栏目: 云计算

下面我按从零开始的方式,给你说明 Debian 配置 MongoDB 的常见做法。
目前 MongoDB 官方已不再默认提供 Debian 的 apt 仓库(社区版需要手动配置),所以我分别给出 ✅ 推荐方式⚠️ 备用方式


一、官方推荐方式(使用 MongoDB 官方 APT 源)

适用于 Debian 11 (Bullseye) / Debian 12 (Bookworm)
安装的是 MongoDB Community Edition

1️⃣ 安装必要工具

sudo apt update
sudo apt install -y curl gnupg

2️⃣ 导入 MongoDB GPG 公钥

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

3️⃣ 添加 MongoDB APT 源

Debian 12 (Bookworm)

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Debian 11 (Bullseye)

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

4️⃣ 安装 MongoDB

sudo apt update
sudo apt install -y mongodb-org

安装完成后,你会得到:

  • mongod
  • mongosh(新命令行工具)

5️⃣ 启动并设置开机自启

sudo systemctl start mongod
sudo systemctl enable mongod

检查状态:

sudo systemctl status mongod

6️⃣ 验证是否成功

mongosh

看到类似:

test>

说明 MongoDB 已正常工作 ✅


二、Debian 基础配置(重点)

1️⃣ 数据目录(默认)

/var/lib/mongodb

2️⃣ 日志目录

/var/log/mongodb

3️⃣ 配置文件路径

/etc/mongod.conf

三、常见配置修改(重要)

编辑配置:

sudo nano /etc/mongod.conf

✅ 允许远程访问(可选)

net:
  port: 27017
  bindIp: 0.0.0.0

⚠️ 生产环境不建议直接 0.0.0.0,应配合防火墙


✅ 启用身份认证(安全必做)

security:
  authorization: enabled

然后重启:

sudo systemctl restart mongod

四、创建管理员用户(启用认证后)

进入 mongo:

mongosh
use admin
db.createUser({
  user: "admin",
  pwd: "StrongPassword",
  roles: [ { role: "root", db: "admin" } ]
})

登录:

mongosh -u admin -p --authenticationDatabase admin

五、防火墙配置(如果有 ufw)

sudo ufw allow 27017

⚠️ 建议只开放 指定 IP


六、如果 apt 无法安装(备用方案)

方案 1:使用 Docker(最简单 ✅)

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=admin \
  -e MONGO_INITDB_ROOT_PASSWORD=123456 \
  mongo:7

方案 2:手动下载 tgz(不推荐)

MongoDB 官方提供 Linux 通用包,但配置复杂,仅用于特殊环境。


七、常见问题排查

MongoDB 无法启动

查看日志:

sudo journalctl -u mongod
cat /var/log/mongodb/mongod.log

端口被占用

sudo netstat -tulnp | grep 27017

八、建议总结 ✅

场景 推荐方案
开发环境 官方 APT 安装
生产环境 APT + 认证 + 防火墙
快速测试 Docker
Debian 无官方包 Docker

如果你愿意,我可以:

  • ✅ 帮你 写一份生产级 mongod.conf
  • ✅ 配置 MongoDB 副本集
  • ✅ 配置 Debian + MongoDB + Node / Python / Java
  • ✅ 排查你现在遇到的具体报错

你可以直接把 Debian 版本 + 报错信息 发我。

0