首页主机资讯Ubuntu MongoDB网络配置与优化

Ubuntu MongoDB网络配置与优化

时间2026-01-21 18:05:05发布访客分类主机资讯浏览586
导读:Ubuntu 上 MongoDB 的网络配置与安全加固 修改网络监听:编辑配置文件 /etc/mongod.conf,将 net.bindIp 从 127.0.0.1 改为服务器的内网地址或 0.0.0.0(测试环境),生产环境建议仅绑定...

Ubuntu 上 MongoDB 的网络配置与安全加固

  • 修改网络监听:编辑配置文件 /etc/mongod.conf,将 net.bindIp127.0.0.1 改为服务器的内网地址或 0.0.0.0(测试环境),生产环境建议仅绑定内网接口,例如:net.bindIp: 127.0.0.1,192.168.1.100。端口保持默认 27017 或按需修改。完成后重启服务:sudo systemctl restart mongod。
  • 启用身份认证:在 /etc/mongod.conf 中开启 security.authorization: enabled,重启后用 mongo shell 创建管理员:use admin; db.createUser({ user:“admin”,pwd:“StrongPassword123!”,roles:[“root”]} )。远程连接需指定认证库:mongo --host --port 27017 -u admin -p --authenticationDatabase admin。
  • 防火墙限制来源:使用 UFW 仅放行可信网段,例如:sudo ufw allow from 192.168.1.0/24 to any port 27017;如之前放行了 0.0.0.0/0,请删除宽松规则后再添加网段规则。云上同时收紧安全组/防火墙组,仅允许应用所在子网访问 27017/tcp
  • 可选加密传输:为防范窃听与中间人攻击,配置 TLS/SSL(在 mongod.conf 中设置 ssl.mode、证书与密钥路径),强制客户端以加密方式连接。
  • 变更验证:本地执行 mongo --host 127.0.0.1 --eval “db.runCommand({ ping:1} )” 应返回 { “ok” : 1 } ;远程仅允许来自已放行网段的连接。

性能优化关键参数与建议

  • 内存与缓存:WiredTiger 默认缓存约为 (50% × RAM − 1GB),上限 256MB。若工作集较大,可在 /etc/mongod.conf 调整:storage.wiredTiger.engineConfig.cacheSizeGB(例如 8–12GB,视总内存与应用而定)。通过 db.serverStatus().wiredTiger.cache 观察 cache usage、eviction、overflow 等指标,确认是否需要增减缓存。
  • 连接与并发:根据业务峰值设置 net.maxIncomingConnections(默认通常为 65536,实际应结合文件描述符与内存规划调小到合理上限,避免资源被连接耗尽)。
  • 慢查询与排序:开启并分级设置 operation.profiling(如 slowOpThresholdMs、mode),定位慢查询;必要时调大 internalQueryExecMaxBlockingSortBytes 以避免磁盘排序,但需控制内存使用。
  • 压缩与存储:在 storage.wiredTiger.collectionConfig.blockCompressor 选择 snappy/zstd 平衡 CPU 与压缩率;SSD 能显著改善随机 IO 与检查点性能。
  • 监控与诊断:持续使用 mongostat、mongotop 观察吞吐、锁、队列与热点集合;对关键查询使用 explain(“executionStats”) 验证索引命中与扫描方式。

网络与连接排错清单

  • 服务与端口:确认 mongod 已启动(sudo systemctl status mongod),端口监听正常(ss -lntp | grep 27017 或 netstat -tulnp | grep 27017)。
  • 配置生效:核对 /etc/mongod.conf 中 bindIp/port 是否为期望值,修改后必须重启;日志路径 /var/log/mongodb/mongod.log 无报错(sudo tail -f /var/log/mongodb/mongod.log)。
  • 防火墙与安全组:UFW 规则是否仅允许 192.168.1.0/24 等可信网段访问 27017/tcp;云实例安全组同样需要放行对应来源。
  • 认证与来源:远程连接必须提供用户名、密码与认证库(–authenticationDatabase admin);若仍失败,临时在本地验证:mongo --host 127.0.0.1 --eval “db.runCommand({ ping:1} )”。

生产环境推荐配置示例

  • 网络与端口:net.bindIp: 127.0.0.1,192.168.1.100;net.port: 27017
  • 安全:security.authorization: enabled;启用 TLS/SSL;UFW 规则仅放行 192.168.1.0/2427017/tcp
  • 性能(示例为 16GB 内存主机):storage.wiredTiger.engineConfig.cacheSizeGB: 8;net.maxIncomingConnections: 按并发与 FD 规划设置(如 4096–16384);operation.profiling.mode: slowOp;operation.profiling.slowOpThresholdMs: 100;storage.wiredTiger.collectionConfig.blockCompressor: snappy

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


若转载请注明出处: Ubuntu MongoDB网络配置与优化
本文地址: https://pptw.com/jishu/788915.html
Ubuntu里Composer如何运行脚本 Ubuntu中HBase数据如何备份

游客 回复需填写必要信息