ubuntu

如何根据需求配置Ubuntu MongoDB

小樊
35
2025-09-09 00:54:41
栏目: 云计算

根据需求配置Ubuntu MongoDB可按以下步骤操作,核心步骤包括安装、基础配置、安全设置及优化:

一、基础安装

  1. 导入公钥并添加源

    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  
    

    注:$(lsb_release -cs)会自动匹配Ubuntu版本(如22.04为jammy)。

  2. 安装MongoDB

    sudo apt install -y mongodb-org  
    

二、核心配置

  1. 修改配置文件
    编辑 /etc/mongod.conf,按需调整以下参数:

    • 数据与日志路径
      storage:  
        dbPath: /var/lib/mongodb  # 数据存储目录(需提前创建并授权)  
      systemLog:  
        path: /var/log/mongodb/mongod.log  # 日志路径  
      
    • 网络绑定
      net:  
        bindIp: 0.0.0.0  # 允许所有IP访问(生产环境建议限制为特定IP)  
        port: 27017  # 监听端口(默认27017,可自定义)  
      
    • 安全认证
      security:  
        authorization: enabled  # 启用用户权限认证  
      
  2. 创建数据目录并授权

    sudo mkdir -p /var/lib/mongodb  
    sudo chown -R mongodb:mongodb /var/lib/mongodb  
    

三、安全与权限配置

  1. 启用认证并创建管理员用户

    • 重启服务使认证生效:
      sudo systemctl restart mongod  
      
    • 进入MongoDB Shell创建管理员:
      mongo  
      use admin  
      db.createUser({  
        user: "admin",  
        pwd: "yourStrongPassword",  
        roles: [{ role: "root", db: "admin" }]  
      })  
      exit  
      
  2. 限制IP访问(可选)
    在配置文件中设置 bindIp 为特定IP(如服务器公网IP),或通过防火墙(如ufw)限制端口访问:

    sudo ufw allow from <允许的IP> to any port 27017  
    sudo ufw deny 27017  # 拒绝其他IP访问  
    

四、性能优化(可选)

  1. 调整内核参数

    # 增加文件描述符限制  
    ulimit -n 64000  
    # 启用大页内存(需内核支持)  
    echo "vm.nr_hugepages=1000" | sudo tee -a /etc/sysctl.conf  
    sudo sysctl -p  
    
  2. 配置分片与副本集(大规模场景)

    • 分片:在配置文件中设置 sharding.clusterRole: shardsvr,并搭配mongos路由服务。
    • 副本集:配置 replication.replSetName,通过rs.initiate()初始化副本集。

五、验证与维护

注意事项

参考来源:

0
看了该问题的人还看了