MongoDB配置CentOS需要注意哪些点
导读: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
此步骤避免了从默认仓库安装可能存在兼容性问题的MongoDB版本。
2. 配置文件路径与关键参数设置
MongoDB的主配置文件位于/etc/mongod.conf
,需重点调整以下参数:
- 数据与日志路径:设置
storage.dbPath
(如/var/lib/mongo
)指定数据存储目录,systemLog.path
(如/var/log/mongodb/mongod.log
)指定日志文件路径,并启用日志追加模式(systemLog.logAppend: true
)。 - 网络绑定:
net.bindIp
默认为127.0.0.1
(仅本地访问),若需远程访问,可改为0.0.0.0
(允许所有IP)或指定具体IP(如192.168.1.100
);net.port
默认为27017
,可根据需求修改。 - 进程管理:
processManagement.fork: true
让MongoDB以守护进程模式运行(后台服务)。
这些配置需通过sudo vi /etc/mongod.conf
编辑,修改后重启服务生效。
3. 安全配置(必做)
- 启用身份验证:在
security
section添加authorization: enabled
,强制用户连接时需提供用户名和密码,防止未授权访问。修改后需重启MongoDB服务。 - 创建管理员用户:连接MongoDB shell(
mongo
),切换至admin
数据库,执行以下命令创建管理员账户(示例):use admin db.createUser({ user: "admin", pwd: "your_secure_password", roles: ["root"] // root角色拥有所有数据库管理权限 } )
- 限制远程访问:若
bindIp
设置为0.0.0.0
,需通过防火墙限制仅信任IP可访问MongoDB端口(默认27017),降低被扫描攻击的风险。
4. 防火墙配置
若系统启用了firewalld
,需开放MongoDB端口以允许远程连接:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent # 永久添加端口
sudo firewall-cmd --reload # 重新加载防火墙规则
若使用iptables
,可执行sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
并保存规则。
5. 性能优化配置
- WiredTiger缓存大小:在
storage.wiredTiger.engineConfig
下设置cacheSizeGB
,建议值为物理内存的50%(如8GB内存可设为4GB),避免占用过多内存导致系统卡顿。 - OPLOG大小:对于副本集,
replication.oplogSizeMB
需根据数据写入量调整(默认为磁盘空间的5%),确保有足够空间存储操作日志(用于主从同步)。 - 日志轮转:启用
systemLog.logRotate: reopen
并结合系统日志轮转工具(如logrotate
),防止日志文件过大占用磁盘空间。
6. SELinux配置(若启用)
若系统启用了SELinux(默认启用),需调整策略允许MongoDB访问数据目录:
sudo semanage fcontext -a -t mongod_var_lib_t "/var/lib/mongo(/.*)?" # 设置SELinux上下文
sudo restorecon -Rv /var/lib/mongo # 恢复上下文
或临时设置为宽松模式(测试环境可用):编辑/etc/selinux/config
,将SELINUX=enforcing
改为SELINUX=permissive
,然后重启系统。
7. 开机自启与状态检查
配置完成后,启动MongoDB服务并设置开机自启:
sudo systemctl start mongod # 启动服务
sudo systemctl enable mongod # 设置开机自启
sudo systemctl status mongod # 检查服务状态(应为active(running))
通过mongo --eval 'db.version()'
命令可验证MongoDB是否正常运行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MongoDB配置CentOS需要注意哪些点
本文地址: https://pptw.com/jishu/724543.html