首页主机资讯MongoDB配置Ubuntu要注意哪些

MongoDB配置Ubuntu要注意哪些

时间2025-10-04 21:34:03发布访客分类主机资讯浏览1224
导读:1. 安装官方源与版本选择 在Ubuntu上配置MongoDB时,优先通过官方源安装以确保版本兼容性与安全性。避免直接使用apt install mongodb(可能安装较旧版本),应执行以下步骤添加MongoDB官方仓库:导入GPG公钥(...

1. 安装官方源与版本选择
在Ubuntu上配置MongoDB时,优先通过官方源安装以确保版本兼容性与安全性。避免直接使用apt install mongodb(可能安装较旧版本),应执行以下步骤添加MongoDB官方仓库:导入GPG公钥(wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -),创建源列表文件(echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list),更新包列表后安装mongodb-org。需注意Ubuntu版本与MongoDB版本的适配性(如Ubuntu 22.04对应jammy源)。

2. 配置文件路径与关键参数调整
MongoDB的主配置文件位于/etc/mongod.conf,修改后需重启服务(sudo systemctl restart mongod)生效。关键参数需重点设置:

  • 网络配置net.bindIp默认为127.0.0.1(仅本地访问),若需远程连接可改为0.0.0.0(需配合防火墙限制IP);net.port默认27017,可根据需求修改(需确保端口未被占用)。
  • 安全配置security.authorization需设置为enabled(启用身份验证,防止未授权访问);若启用TLS/SSL,需添加net.ssl.mode: requireSSL及证书路径(PEMKeyFileCAFile)。
  • 存储配置storage.dbPath指定数据存储路径(默认/var/lib/mongodb),需确保目录存在且权限正确(chown -R mongodb:mongodb /var/lib/mongodb);storage.journal.enabled需设为true(启用日志,确保数据持久性)。
  • 进程管理processManagement.fork设为true(后台运行),pidFilePath指定PID文件路径(如/var/run/mongodb/mongod.pid)。

3. 安全配置要点

  • 启用身份验证:在security section添加authorization: enabled,重启服务后,需通过mongo shell创建管理员用户(use admin; db.createUser({ user: "admin", pwd: "强密码", roles: [{ role: "root", db: "admin"} ]} )),避免未授权访问。
  • 限制网络访问:通过net.bindIp仅允许可信IP连接(如127.0.0.1,192.168.1.100),并结合Ubuntu防火墙(ufw)开放MongoDB端口(sudo ufw allow from 192.168.1.100 to any port 27017)。
  • 禁用透明大页面(THP):THP会影响MongoDB性能,需创建服务文件/etc/systemd/system/disable-thp.service,内容为[Unit] Description=Disable Transparent Huge Pages (THP); [Service] Type=simple; ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled & & echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"; [Install] WantedBy=multi-user.target,然后执行sudo systemctl daemon-reload; sudo systemctl enable --now disable-thp.service
  • 设置资源限制:编辑/etc/security/limits.d/mongodb.conf,增加mongod soft nproc 64000; mongod hard nproc 64000; mongod soft nofile 64000; mongod hard nofile 64000(限制进程数与文件描述符,避免资源耗尽)。

4. 性能优化技巧

  • 内存配置:调整storage.wiredTiger.engineConfig.cacheSizeGB(WiredTiger存储引擎缓存大小),建议设置为系统总内存的50%-70%(如16GB内存可设为8GB),避免占用过多内存导致系统卡顿。
  • 索引优化:为常用查询字段创建索引(如db.collection.createIndex({ field: 1} )),提升查询性能;避免过度索引(会增加写入开销)。
  • 日志与监控:开启操作日志(operationProfiling.mode: slowOp,记录慢查询)、审计日志(auditLog.destination: file,记录用户操作),使用mongostat(监控操作速率)、mongotop(监控集合级读写时间)或第三方工具(如PMM)实时监控性能。
  • 分片与复制集:数据量大时启用分片(sharding.clusterRole: shardsvr,分散数据到多个节点);高可用需求启用复制集(replication.replSetName: myReplSet,自动故障转移)。

5. 日志与维护管理

  • 日志配置systemLog.destination设为file(日志输出到文件),systemLog.path指定路径(如/var/log/mongodb/mongod.log),logAppend: true(追加日志,避免覆盖)。
  • 数据备份:定期使用mongodump(逻辑备份,mongodump --host localhost --port 27017 --out /backup/mongodump)或mongorestore(恢复数据)备份数据,建议备份到异地存储。
  • 日志轮转:配置日志轮转(如使用logrotate),避免日志文件过大占用磁盘空间(示例配置:/etc/logrotate.d/mongodb,内容为/var/log/mongodb/mongod.log { daily; rotate 7; compress; missingok; notifempty; sharedscripts; postrotate; systemctl reload mongod; endscript; } )。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MongoDB配置Ubuntu要注意哪些
本文地址: https://pptw.com/jishu/720578.html
MongoDB配置Ubuntu的步骤是啥 Ubuntu MongoDB安全配置怎么做

游客 回复需填写必要信息