根据需求配置Ubuntu MongoDB可按以下步骤操作,核心步骤包括安装、基础配置、安全设置及优化:
导入公钥并添加源
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -  # 替换为对应版本密钥  
echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list  
sudo apt update  
注:$(lsb_release -cs)会自动匹配Ubuntu版本(如22.04为jammy)。
安装MongoDB
sudo apt install -y mongodb-org  
修改配置文件
编辑 /etc/mongod.conf,按需调整以下参数:
storage:  
  dbPath: /var/lib/mongodb  # 数据存储目录(需提前创建并授权)  
systemLog:  
  path: /var/log/mongodb/mongod.log  # 日志路径  
net:  
  bindIp: 0.0.0.0  # 允许所有IP访问(生产环境建议限制为特定IP)  
  port: 27017  # 监听端口(默认27017,可自定义)  
security:  
  authorization: enabled  # 启用用户权限认证  
创建数据目录并授权
sudo mkdir -p /var/lib/mongodb  
sudo chown -R mongodb:mongodb /var/lib/mongodb  
启用认证并创建管理员用户
sudo systemctl restart mongod  
mongo  
use admin  
db.createUser({  
  user: "admin",  
  pwd: "yourStrongPassword",  
  roles: [{ role: "root", db: "admin" }]  
})  
exit  
限制IP访问(可选)
在配置文件中设置 bindIp 为特定IP(如服务器公网IP),或通过防火墙(如ufw)限制端口访问:
sudo ufw allow from <允许的IP> to any port 27017  
sudo ufw deny 27017  # 拒绝其他IP访问  
调整内核参数
# 增加文件描述符限制  
ulimit -n 64000  
# 启用大页内存(需内核支持)  
echo "vm.nr_hugepages=1000" | sudo tee -a /etc/sysctl.conf  
sudo sysctl -p  
配置分片与副本集(大规模场景)
sharding.clusterRole: shardsvr,并搭配mongos路由服务。replication.replSetName,通过rs.initiate()初始化副本集。sudo systemctl status mongod  
mongo -u admin -p yourStrongPassword --authenticationDatabase admin  
mongodump --out /backup/pathmongostat或mongotop命令。security.authorization: enabled)并限制IP访问。参考来源: