在Linux上高效配置MongoDB涉及多个步骤,包括安装、配置、性能优化和安全设置。以下是一个详细的指南:
使用APT包管理器(适用于Ubuntu/Debian):
更新包列表:
sudo apt-get update
安装MongoDB:
sudo apt-get install -y mongodb-org
使用YUM包管理器(适用于CentOS/RHEL):
安装必要的开发工具和依赖项:
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y lrzsz
安装MongoDB:
sudo yum install -y mongodb-org
编辑配置文件 /etc/mongod.conf
:
数据目录:
storage:
dbPath: /var/lib/mongodb
日志目录:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
网络设置:
net:
bindIp: 0.0.0.0 # 允许所有IP访问
port: 27017
安全设置:
security:
authorization: enabled # 启用认证
创建MongoDB用户并赋予权限:
停止MongoDB服务:
sudo systemctl stop mongod
编辑MongoDB配置文件:
sudo vim /etc/mongod.conf
重启MongoDB服务:
sudo systemctl start mongod
连接到MongoDB并创建管理员用户:
mongo
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
调整WiredTiger缓存大小:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4 # 根据内存大小调整
启用操作分析:
operationProfiling:
mode: slowOp # 监控慢查询
索引优化: 为经常用于查询的字段创建索引,以提高查询性能。
启用认证:
在/etc/mongod.conf
中设置 security.authorization: enabled
,然后重启MongoDB服务。
限制网络访问:
通过配置net.bindIp
来限制MongoDB实例监听的IP地址,确保MongoDB仅在受信任的网络环境中运行。
使用专用服务账户: 创建一个非特权用户来运行MongoDB服务,以减少安全风险。