温馨提示×

MongoDB配置Ubuntu环境需要注意什么

小樊
42
2025-12-10 19:54:01
栏目: 云计算

MongoDB 在 Ubuntu 配置的注意事项

一 安装与版本选择

  • 优先使用 MongoDB 官方 APT 仓库,避免 Ubuntu 自带旧版 mongodb 包;导入 GPG 公钥并添加对应发行版列表,再安装 mongodb-org。示例密钥与源(以 Ubuntu 22.04/24.04 为例)与安装命令可直接复用。
  • 平台支持以官方为准,当前 MongoDB 8.0 Community 支持 Ubuntu 24.04 Noble、22.04 Jammy、20.04 Focalx86_64 架构;安装后用 mongosh --version 校验客户端版本。

二 网络与防火墙

  • 默认仅监听 127.0.0.1:27017,远程访问需修改 /etc/mongod.confnet.bindIp:设为 0.0.0.0(仅 IPv4)或 0.0.0.0,::(同时支持 IPv6),并重启服务。
  • 启用防火墙(如 UFW)放行端口:sudo ufw allow 27017/tcp;如使用云服务器,还需在安全组放通 27017/tcp
  • 避免将 bindIp 暴露在公网;如必须远程,建议配合 TLS/SSL 与强认证。

三 安全加固

  • 启用 RBAC 认证:在 /etc/mongod.conf 中设置 security.authorization: enabled,重启后在 mongosh 中于 admin 库创建管理员与业务用户(如 userAdminAnyDatabasereadWriteAnyDatabase 等)。
  • 禁止未授权远程:在开启认证前仅本地创建用户;远程连接字符串应包含用户名、密码与 authSource=admin
  • 系统层面建议:禁用 透明大页(THP)、调整 ulimit(打开文件数建议不低于 64000),以降低延迟抖动并避免资源限制告警。

四 存储与性能

  • 默认数据目录 /var/lib/mongodb、日志目录 /var/log/mongodb,属 mongodb 用户;确保目录存在且权限正确,避免因权限导致启动失败。
  • 性能相关常用项:根据内存与负载调整 storage.wiredTiger.engineConfig.cacheSizeGB,以及 net.maxIncomingConnections;为高频查询字段建立索引,并使用 mongostat / mongotop 持续观测。
  • 生产环境建议开启 WiredTiger 引擎journal(默认已启用),确保数据安全与可恢复性。

五 运维与排错

  • 服务管理:使用 sudo systemctl start|stop|restart|status mongod,变更配置后 sudo systemctl daemon-reload && sudo systemctl restart mongod;查看 /var/log/mongodb/mongod.log 定位故障。
  • 常见问题速查:
    • 启动失败且提示 Unit mongod.service not found:先执行 sudo systemctl daemon-reload
    • 端口占用:确认 27017 未被其他进程占用,必要时调整 net.port
    • 远程连不通:核对 bindIp、UFW/安全组、用户名密码与 authSource 是否正确。

0