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
使用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
)。 - 绑定IP:
net.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: requireSSL
、net.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