ubuntu

MongoDB在Ubuntu上的配置技巧

小樊
42
2025-09-13 00:14:32
栏目: 云计算

以下是MongoDB在Ubuntu上的配置技巧,涵盖安装、性能优化及安全等方面:

一、基础安装与配置

  1. 安装MongoDB

    • 导入公钥并添加官方源:
      wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -  
      echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list  
      sudo apt update  
      sudo apt install -y mongodb-org  # 安装最新稳定版  
      
    • 启动服务并设置开机自启:
      sudo systemctl enable --now mongod  
      
  2. 核心配置文件(/etc/mongod.conf)

    • 数据存储路径:修改 storage.dbPath(默认 /var/lib/mongodb),确保目录权限正确:
      sudo chown -R mongodb:mongodb /var/lib/mongodb  
      
    • 网络绑定:设置 net.bindIp0.0.0.0(允许所有IP访问,生产环境建议限制为内网IP),并指定端口(默认 27017)。
    • 日志配置:通过 systemLog.path 指定日志文件路径(如 /var/log/mongodb/mongod.log),并开启日志追加模式 logAppend: true

二、性能优化技巧

  1. 存储引擎调优

    • 使用WiredTiger引擎(默认),并通过 storage.wiredTiger.engineConfig.cacheSizeGB 设置缓存大小(建议为服务器内存的50%-70%)。
    • 禁用透明大页(THP):执行 echo never > /sys/kernel/mm/transparent_hugepage/enabled,避免内存碎片影响性能。
  2. 索引优化

    • 为高频查询字段创建索引:
      db.collection.createIndex({ field: 1 })  // 1为升序,-1为降序  
      
    • 避免过度索引,定期使用 db.collection.reIndex() 重建索引以优化查询效率。
  3. 分片与复制集(高可用场景)

    • 分片:通过 sh.enableSharding("数据库名") 启用分片,将数据分散到多个节点。
    • 副本集:配置 replication.replSetName 并添加多个节点,实现数据冗余和故障自动切换。

三、安全加固

  1. 启用身份验证

    • 在配置文件中添加 security.authorization: enabled,并重启服务。
    • 创建管理员用户:
      use admin  
      db.createUser({ user: "admin", pwd: "密码", roles: ["root"] })  
      
  2. 网络与防火墙

    • 限制MongoDB端口(默认27017)仅允许内网访问,通过 ufwiptables 配置防火墙规则。
    • 禁用不必要的服务(如防火墙、SELinux),减少系统负载。

四、监控与维护

五、注意事项

以上技巧综合自搜索资源,可根据实际场景调整参数。

0
看了该问题的人还看了