在Debian上配置MongoDB时,有几个关键点需要注意,以确保系统的安全性和性能。以下是一些主要的注意事项:
更新系统: 在开始安装MongoDB之前,确保系统是最新的。
sudo apt update && sudo apt upgrade -y
导入MongoDB公钥: 为了从官方存储库安装软件包,需要导入MongoDB的公钥。
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
创建MongoDB列表文件: 为MongoDB创建一个列表文件,以便APT知道从哪里获取软件包。
echo "deb [ archamd64,arm64 ] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
配置MongoDB监听地址:
默认情况下,MongoDB会监听本地接口(localhost)。如果希望允许远程连接,可以修改配置文件 /etc/mongod.conf
中的 net.bindIp
设置。
net:
port: 27017
bindIp: 0.0.0.0 # 允许任意IP地址连接
启用用户认证:
要启用用户认证,请编辑 /etc/mongod.conf
文件,取消注释或添加以下行:
security:
authorization: enabled
然后创建一个具有管理员角色的新用户。
use admin
db.createUser({
user: "myUserAdmin",
pwd: "abc123",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
"readWriteAnyDatabase"
]
})
限制资源使用:
可以在 /etc/mongod.conf
文件中设置 wiredTigerCacheSizeGB
参数,以限制缓存大小。
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1
防火墙设置:
确保防火墙允许通过MongoDB的端口(默认是27017)。可以使用 iptables
或 ufw
来配置防火墙规则。
sudo ufw allow 27017
SELinux或AppArmor: 如果系统启用了SELinux或AppArmor,可能需要配置相应的策略以允许MongoDB的网络访问。
日志文件路径:
在 /etc/mongod.conf
文件中指定MongoDB的日志文件路径,以便于跟踪和调试。
systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
数据目录:
指定MongoDB的数据存储位置,通常在 /etc/mongod.conf
文件的 storage
部分设置。
storage:
dbPath: "/var/lib/mongodb"
重启MongoDB服务: 在修改配置文件后,通常需要重启MongoDB服务以使更改生效。
sudo systemctl restart mongod
验证安装: 可以通过连接到MongoDB shell来验证是否成功安装了MongoDB。
mongo
通过以上步骤,您可以在Debian系统上成功安装和配置MongoDB,并确保其安全性和性能。