linux

MongoDB配置Linux需要注意什么

小樊
50
2025-10-06 00:23:37
栏目: 云计算

1. 安装官方仓库包(优先选择)
避免从源码编译安装,优先使用Linux发行版的官方包管理器(如Ubuntu的apt、CentOS的yum)安装MongoDB,确保版本兼容性与安全更新。例如,Ubuntu系统可通过导入MongoDB官方GPG密钥、添加mongodb-org仓库后,使用apt install mongodb-org安装。

2. 正确配置数据与日志目录权限
创建专用的数据存储目录(如/var/lib/mongodb)和日志目录(如/var/log/mongodb),并将所有权赋予运行MongoDB的用户(通常为mongodb)。例如:

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

避免使用root用户运行MongoDB,降低系统风险。

3. 强制启用用户认证
编辑/etc/mongod.conf配置文件,添加security.authorization: enabled,强制要求所有客户端连接提供认证。修改后需重启MongoDB服务使配置生效:

sudo systemctl restart mongod

启用认证后,需创建管理员账户(如admin用户,角色为userAdminAnyDatabase)和数据库用户(分配readWritedbOwner等最小必要权限)。

4. 严格限制网络访问
/etc/mongod.conf中配置net.bindIp参数,仅允许必要的IP地址访问MongoDB。例如:

5. 优化存储引擎与内存配置
MongoDB默认使用WiredTiger存储引擎,需在配置文件中设置storage.wiredTiger.engineConfig.cacheSizeGB参数,建议值为物理内存的50%-75%(如8GB内存可设置为4GB),避免占用过多内存影响系统性能。此外,启用日志追加模式(systemLog.logAppend: true)确保日志完整性。

6. 禁用不必要的功能与接口

7. 配置TLS/SSL加密通信
生成SSL证书(可使用OpenSSL生成自签名证书或申请CA签发证书),并在/etc/mongod.conf中配置SSL参数:

net:
  ssl:
    mode: requireSSL
    PEMKeyFile: /path/to/mongodb-key.pem
    CAFile: /path/to/mongodb-cert.pem

重启服务后,MongoDB将强制使用SSL加密客户端与服务器之间的通信。

8. 启用审计日志(企业版必备)
若使用MongoDB Enterprise版本,可在/etc/mongod.conf中配置审计日志,记录所有用户操作(如查询、插入、删除):

security:
  auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb/audit.log

审计日志有助于追踪安全事件,满足合规要求。

9. 设置文件描述符与系统参数
MongoDB需要较高的文件描述符限制,需修改系统配置:

应用配置:sudo sysctl -p。这些设置可避免因文件描述符不足或内存写入延迟导致的性能问题。

10. 定期更新与监控

0
看了该问题的人还看了