首页主机资讯MongoDB配置CentOS要注意啥

MongoDB配置CentOS要注意啥

时间2025-10-13 11:34:04发布访客分类主机资讯浏览1287
导读:1. 安装官方YUM仓库 在CentOS上安装MongoDB前,需添加官方YUM仓库以确保软件包的完整性和安全性。创建/etc/yum.repos.d/mongodb-org.repo文件,内容根据MongoDB版本调整(如6.0版本):...

1. 安装官方YUM仓库
在CentOS上安装MongoDB前,需添加官方YUM仓库以确保软件包的完整性和安全性。创建/etc/yum.repos.d/mongodb-org.repo文件,内容根据MongoDB版本调整(如6.0版本):

[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

使用sudo yum install -y mongodb-org安装,避免从第三方源下载导致的安全风险。

2. 配置文件路径与关键参数设置
MongoDB的主配置文件位于/etc/mongod.conf,需重点调整以下参数:

  • 数据与日志路径:设置storage.dbPath(如/var/lib/mongo)指定数据存储目录,systemLog.path(如/var/log/mongodb/mongod.log)指定日志文件路径,确保目录存在且权限正确(chown -R mongod:mongod /var/lib/mongo /var/log/mongodb)。
  • 绑定IPnet.bindIp默认为127.0.0.1(仅本地访问),若需远程访问,可改为0.0.0.0(允许所有IP)或指定具体IP(如192.168.1.100),但需配合防火墙限制访问源。
  • 端口设置net.port默认为27017,可根据需求修改,但需确保端口未被占用。
  • 日志追加systemLog.logAppend设置为true,避免日志文件被覆盖,便于故障排查。

3. 安全配置(必做项)

  • 启用身份验证:在security section添加authorization: enabled,强制用户登录后才能访问数据库。修改后需重启服务(sudo systemctl restart mongod)。
  • 创建管理员用户:使用mongo命令进入shell,切换至admin数据库,创建具有管理权限的用户(如admin):
    use admin
    db.createUser({
    
      user: "admin",
      pwd: "StrongPassword123!",
      roles: ["root"]
    }
        )
    
  • 限制远程访问:若bindIp设置为0.0.0.0,需通过防火墙限制仅信任IP可访问MongoDB端口(默认27017),例如使用firewall-cmd
    sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
    sudo firewall-cmd --reload
    
  • 启用SSL/TLS(可选但推荐):通过配置net.ssl.mode: requireSSLnet.ssl.PEMKeyFile(证书路径)和net.ssl.CAFile(CA证书路径),加密客户端与服务器之间的通信,防止数据泄露。

4. 服务管理与开机自启
安装完成后,使用以下命令启动MongoDB服务并设置开机自启:

sudo systemctl start mongod
sudo systemctl enable mongod

通过sudo systemctl status mongod检查服务状态,确保显示为active (running)

5. SELinux配置(若启用)
若系统启用了SELinux(默认开启),需调整策略以允许MongoDB访问数据目录和日志文件。执行以下命令:

sudo semanage fcontext -a -t mongod_var_lib_t "/var/lib/mongo(/.*)?"
sudo semanage fcontext -a -t mongod_log_t "/var/log/mongodb(/.*)?"
sudo restorecon -Rv /var/lib/mongo /var/log/mongodb

或临时设置为宽松模式(测试环境使用):编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=permissive,然后重启系统。

6. 性能优化配置

  • WiredTiger缓存大小:在storage section添加wiredTiger.engineConfig.cacheSizeGB,设置为物理内存的50%(如8GB内存设置为4GB),避免内存占用过高影响系统性能。
  • oplog大小:对于副本集,调整replication.oplogSizeMB(默认为磁盘空间的5%),确保足够空间存储操作日志,防止复制中断。
  • 日志轮转:启用systemLog.logRotate: reopen,并配置logrotate工具,定期分割日志文件,避免日志过大占用磁盘空间。

7. 监控与维护

  • 定期备份:使用mongodump工具定期备份数据(如每日备份),存储至异地或云存储,防止数据丢失。
  • 日志监控:通过tail -f /var/log/mongodb/mongod.log实时监控日志,关注错误信息(如连接超时、磁盘空间不足)。
  • 版本更新:定期检查MongoDB官方更新,及时升级到最新稳定版本,修复安全漏洞并提升性能。

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


若转载请注明出处: MongoDB配置CentOS要注意啥
本文地址: https://pptw.com/jishu/724547.html
MongoDB配置CentOS有哪些技巧 CentOS下MongoDB怎样安全设置

游客 回复需填写必要信息