ubuntu

MongoDB配置Ubuntu有哪些最佳实践

小樊
50
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. 修改配置参数

例如:

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
看了该问题的人还看了