温馨提示×

MongoDB配置Ubuntu有哪些最佳实践

小樊
56
2025-07-11 21:04:36
栏目: 云计算

在Ubuntu上配置MongoDB时,遵循以下最佳实践可以帮助确保其高效、安全地运行:

安装MongoDB

  1. 导入MongoDB公钥
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 
  1. 创建MongoDB源列表文件
echo "deb [ archamd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list 
  1. 更新软件包列表
sudo apt-get update 
  1. 安装MongoDB
sudo apt-get install -y mongodb-org 

配置MongoDB

  1. 编辑MongoDB配置文件
sudo nano /etc/mongod.conf 
  1. 修改配置参数
  • bind_ip:设置为 0.0.0.0 以允许从任意IP地址连接。
  • port:设置为 MongoDB 服务器监听的端口号(默认为27017)。
  • security.authorization:启用身份验证(如果需要)。

例如:

net: port: 27017 bindIp: 0.0.0.0 security: authorization: enabled 
  1. 保存并关闭文件
  2. 重启MongoDB服务以使配置生效
sudo systemctl restart mongod 

启动和停止MongoDB服务

  1. 启动MongoDB服务
sudo systemctl start mongod 
  1. 停止MongoDB服务
sudo systemctl stop mongod 
  1. 重启MongoDB服务
sudo systemctl restart mongod 
  1. 检查MongoDB服务状态
sudo systemctl status mongod 

验证安装

  1. 连接到MongoDB
mongo 
  1. 检查数据库列表
show dbs 
  1. 切换到某个数据库并查看集合
use mydb show collections 

配置MongoDB以安全地运行

  1. 启用身份验证

在配置文件中添加或修改以下内容:

security: authorization: enabled 
  1. 创建管理员用户

切换到MongoDB shell:

mongo 

切换到 admin 数据库:

use admin 

创建一个管理员用户并授予其 root 角色:

db.createUser({ user: "yourAdminUsername", pwd: "yourAdminPassword", roles: [ { role: "root", db: "admin" } ] }) 

退出MongoDB shell:

exit() 

性能优化

  1. 调整内存和磁盘配置,确保服务器有足够的内存和快速的磁盘。
  2. 为经常用于查询的字段创建索引,以提高查询性能。
  3. 使用MongoDB自带的工具 mongostatmongotop 监控数据库性能

安全配置

  1. 禁用透明大页面(THP)
sudo nano /etc/systemd/system/disable-thp.service 

内容:

[Unit] Description = Disable Transparent Huge Pages (THP) [Service] Type = simple ExecStart = /bin/sh -c "echo 'never' /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' /sys/kernel/mm/transparent_hugepage/defrag" [Install] WantedBy = multi-user.target 

重新加载并启用服务:

sudo systemctl daemon-reloadsudo systemctl enable --now disable-thp.service 
  1. 设置MongoDB用户的资源限制
sudo nano /etc/security/limits.d/mongodb.conf 

内容:

mongod soft nproc 64000 mongod hard nproc 64000 mongod soft nofile 64000 mongod hard nofile 64000 
  1. 启用MongoDB认证并创建管理员用户
mongosh use admin db.createUser({ user: "admin", pwd : "yourAdminPassword", roles: [ { role: "userAdminAnyDatabase" , db: "admin" } ] }) 

通过以上步骤和最佳实践,您可以在Ubuntu上成功安装、配置、启动和验证MongoDB,并确保其高效和安全地运行。请根据您的实际需求调整配置,例如设置身份验证、指定数据存储路径等。

0