温馨提示×

Linux环境下MongoDB配置有哪些要点

小樊
43
2025-07-25 19:14:11
栏目: 云计算

在Linux环境下配置MongoDB涉及多个要点,以下是一些关键步骤和配置建议:

环境准备

  • 系统要求:推荐Linux内核版本4.x以上,至少2GB可用内存(生产环境建议8GB),10GB以上磁盘空间,root或sudo权限。

安装MongoDB

  • 通过官方仓库安装(推荐):
    • Ubuntu/Debian
      1. 导入公钥:wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
      2. 添加仓库:echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
      3. 安装最新稳定版:sudo apt update && sudo apt install -y mongodb-org
    • CentOS/RHEL
      1. 创建仓库文件:
        cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo
        [mongodb-org-6.0]
        name=MongoDB Repository
        baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
        gpgcheck=1
        enabled=1
        gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
        EOF
        
      2. 安装:sudo yum install -y mongodb-org
    • 验证安装mongod --version

基础配置

  • 文件目录结构

    • /var/lib/mongo:默认数据目录
    • /var/log/mongodb:日志目录
    • /etc/mongod.conf:主配置文件。
  • 修改配置文件

    • 编辑 /etc/mongod.conf,关键参数包括:
      • systemLog:日志输出目的地和路径
      • storage:数据存储路径和启用journal日志持久存储
      • net:端口号和绑定的IP地址
      • processManagement:后台运行
      • security:启用用户认证。
  • 启动服务

    • sudo systemctl start mongod
    • sudo systemctl enable mongod
    • sudo systemctl status mongod

安全加固

  • 创建管理员用户

    • use admin
    • db.createUser({ user: "admin", pwd: "StrongPassword123", roles: ["root"] })
  • 启用认证

    • 修改配置文件 security.authorization: enabled,重启服务后验证:mongo -u admin -p StrongPassword123 --authenticationDatabase admin
  • 防火墙配置

    • sudo ufw allow 27017/tcp(Ubuntu)
    • sudo firewall-cmd --add-port 27017/tcp --permanent(CentOS)。

性能优化

  • 内存配置:根据服务器内存调整 storage.wiredTiger.engineConfig.cacheSizeGB,建议为可用内存的50-70% 。
  • 日志轮转:编辑 /etc/logrotate.d/mongodb 文件,配置日志轮转。
  • 内核参数优化
    • 增加文件描述符限制:
      echo "* soft nofile 64000" | sudo tee -a /etc/security/limits.conf
      echo "* hard nofile 64000" | sudo tee -a /etc/security/limits.conf
      
    • 调整虚拟内存参数:
      sudo sysctl -w vm.zone_reclaim_mode=0
      sudo sysctl -w vm.swappiness=1
      ``` 。
      
      

日常维护

  • 备份与恢复

    • 全量备份:mongodump --uri "mongodb://admin:password@localhost:27017" --out /backup/mongodb
    • 单库恢复:mongorestore --uri "mongodb://admin:password@localhost:27017" --db mydb /backup/mongodb/mydb
  • 监控命令

    • 查看运行状态:db.serverStatus()
    • 查询慢日志:db.setProfilingLevel(1, 50)

常见问题解决

  • 启动失败排查:查看错误日志 tail -n 100 /var/log/mongodb/mongod.log

通过以上步骤,您可以在Linux系统上完成MongoDB的安装和配置。建议定期检查官方文档获取最新安全更新,对于生产环境还应考虑配置副本集以实现高可用性。。

0