1. 存储配置(storage)
dbPath:指定MongoDB数据文件的存储目录(如/var/lib/mongodb),是mongod进程的基础配置,需确保目录存在且有读写权限。journal.enabled:启用预写式日志(WAL),用于故障恢复,64位系统默认开启,强烈建议保持启用。engine:存储引擎类型,MongoDB 3.0+支持mmapv1(旧版,默认)、wiredTiger(新版,默认,支持压缩、事务等特性),推荐使用wiredTiger以提升性能。
2. 日志配置(systemLog)
destination:日志输出目标,设为file(输出到文件)或syslog(输出到系统日志),生产环境推荐file。path:日志文件路径(如/var/log/mongodb/mongod.log),需确保目录可写。logAppend:若为true,重启后追加日志而非覆盖,避免日志丢失;verbosity:日志详细级别(0-5),0为最少日志(默认),5为最详细,生产环境建议设为0或1。
3. 网络配置(net)
port:MongoDB监听端口,默认27017,可根据需求修改(如27018),但需确保端口未被占用。bindIp:绑定的IP地址,127.0.0.1表示仅本地访问;0.0.0.0表示允许所有IP连接(生产环境需谨慎,建议限制为特定IP);也可指定多个IP(如192.168.1.100,10.0.0.1)。maxIncomingConnections:最大并发连接数,默认65536,生产环境可根据服务器资源调整(如10000),防止连接数过多导致资源耗尽。
4. 安全配置(security)
authorization:启用基于角色的访问控制(RBAC),设为enabled后,所有用户需通过认证才能访问数据库(如use admin; db.createUser({...})创建用户),默认disabled(不安全),生产环境必须开启。keyFile:副本集或分片集群节点间认证的密钥文件路径(如/etc/mongodb-keyfile),需确保文件权限为600(仅所有者可读),用于节点间安全通信。x509:X.509证书认证配置(如mode: requireSSL、clusterCAFile: /path/to/ca.pem),用于客户端与服务器之间的SSL/TLS加密认证,提升通信安全性。
5. 副本集配置(replication)
replSetName:副本集名称(如rs0),同一副本集的所有节点需设置相同名称,用于实现高可用(自动故障转移、数据冗余)。oplogSize:操作日志(oplog)的最大大小(单位:MB),默认值取决于存储引擎(wiredTiger约为磁盘空间的5%),需根据数据写入频率调整(如1024MB),过小可能导致oplog溢出,影响故障恢复。
6. 分片集群配置(sharding)
clusterRole:节点在分片集群中的角色,shardsvr表示分片节点(存储数据),configsvr表示配置服务器节点(存储集群元数据),需根据节点职责正确设置(如分片节点设为shardsvr,配置服务器设为configsvr)。
7. 进程管理配置(processManagement)
fork:是否以后台进程方式运行MongoDB,设为true后,mongod会在后台启动(类似守护进程),无需保持终端会话,生产环境推荐开启。pidFilePath:进程ID(PID)文件路径(如/var/run/mongodb/mongod.pid),用于记录mongod进程的PID,方便停止或重启时管理进程。