温馨提示×

ubuntu mongodb配置要注意啥

小樊
47
2026-10-01 19:48:29
栏目: 云计算

在 Ubuntu 上配置 MongoDB,有几个常见但容易踩坑的点,下面按安装 → 配置 → 安全 → 运维给你梳理一下。


一、安装相关

1. 用官方源,别用 apt 默认源

Ubuntu 自带源里的 mongodb 通常是旧版或不完整。

# Ubuntu 22.04 示例
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
  sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

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

sudo apt update
sudo apt install -y mongodb-org

二、核心配置文件

MongoDB 默认配置文件在:

/etc/mongod.conf

重点配置项

✅ 绑定 IP(非常重要)

net:
  bindIp: 127.0.0.1
  # 或允许局域网
  # bindIp: 0.0.0.0

⚠️ 生产环境不要直接 0.0.0.0 + 无认证


三、安全配置(最容易忽略)

1. 一定要开认证

security:
  authorization: enabled

重启服务:

sudo systemctl restart mongod

2. 创建管理员用户

use admin
db.createUser({
  user: "admin",
  pwd: "强密码",
  roles: ["root"]
})

连接:

mongosh -u admin -p --authenticationDatabase admin

四、系统层面注意

1. 关闭 Transparent Huge Pages(官方强烈建议)

sudo systemctl disable mongod
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag

或写 systemd 启动脚本。


2. 文件描述符 & 进程数

ulimit -n 64000
ulimit -u 64000

可写入:

/etc/security/limits.conf

五、数据与日志

默认路径

storage:
  dbPath: /var/lib/mongodb
systemLog:
  path: /var/log/mongodb/mongod.log

⚠️ 如果换盘:

  • 改 dbPath
  • 权限必须属于 mongodb 用户
sudo chown -R mongodb:mongodb /data/mongodb

六、开机启动 & 状态

sudo systemctl enable mongod
sudo systemctl status mongod

七、防火墙(如果用云服务器)

sudo ufw allow from 你的IP to any port 27017

❌ 不要直接 allow 27017


八、常见坑总结

问题 原因
起不来 权限不对 / dbPath 不存在
远程连不上 bindIp 没改
连上没权限 没开 authorization
性能差 没关 THP
数据丢 没配 journal / 强杀进程

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • MongoDB 版本
  • 单机 / 副本集 / 云服务器

我可以给你一份可直接用的配置模板。

0 踩