在Debian上稳定运行MongoDB涉及多个步骤,包括安装、配置、性能优化、安全性和用户管理。以下是一个详细的指南:
安装MongoDB
- 更新系统:
sudo apt update && sudo apt upgrade -y
- 安装必要的依赖软件:
sudo apt install curl apt-transport-https software-properties-common gnupg2
- 导入MongoDB官方GPG密钥:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
- 创建MongoDB列表文件:
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
- 更新APT包数据库:
sudo apt update
- 安装MongoDB:
sudo apt install -y mongodb-org
- 启动并启用MongoDB服务:
sudo systemctl start mongod sudo systemctl enable mongod
- 验证安装:
sudo systemctl status mongod mongo --eval 'db.runCommand({ connectionStatus: 1 })'
配置MongoDB
- 编辑MongoDB配置文件:
sudo nano /etc/mongod.conf
- 允许远程连接(如果需要):
net: port: 27017 bindIp: 0.0.0.0 # 注意:这会带来安全风险,建议只允许特定IP地址连接
- 启用用户认证(推荐):
security: authorization: enabled
- 重启MongoDB服务:
sudo systemctl restart mongod
性能优化
- 索引优化:
db.collection.createIndex({ field: 1 })
-
监控工具: 使用
mongostat
和mongotop
实时监控数据库性能。 -
配置WiredTiger缓存:
storage: wiredTiger: engineConfig: cacheSizeGB: 4
- 使用多个CPU内核: 确保MongoDB能够利用多核CPU。
安全性配置
- 创建MongoDB管理用户:
mongo use admin db.createUser({ user: "admin", pwd: "your_password", roles: [ "root" ]})
- 启用认证: 在配置文件中启用
security.authorization: enabled
,然后重启MongoDB服务。
配置客户端连接
确保在连接字符串中使用正确的用户名和密码。例如:
mongo --host your_server_ip --port 27017 -u app_user -p app_password --authenticationDatabase your_database
配置复制集(可选)
- 初始化复制集:
mongo --host primary_ip --port 27017 rs.initiate({ _id : "rs0", members : [ { _id : 0 , host : "primary_ip:27017" }, { _id : 1 , host : "secondary_ip:27017" } ]})
- 验证复制集状态:
rs.status()
通过以上步骤,你可以在Debian上成功安装、配置和管理MongoDB,确保其性能、安全性和可扩展性。