Linux云服务器MongoDB配置终极指南
作为当前最受欢迎的NoSQL数据库之一,MongoDB在云服务器上的配置已成为开发者必备技能。本文将详细介绍在Linux云服务器上配置MongoDB的完整流程,包含安全设置、性能优化等关键步骤。
一、准备工作
1.1 服务器环境要求
- 推荐使用Ubuntu 20.04 LTS或CentOS 8+
- 至少2GB内存(生产环境建议4GB以上)
- 10GB可用磁盘空间
1.2 安全准备
在开始前,请确保已完成:
- 服务器防火墙配置(开放27017端口)
- 创建专用mongodb系统用户
- 获取最新的MongoDB安装包
二、详细安装步骤
2.1 Ubuntu系统安装
# 导入公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
# 添加源
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
# 更新并安装
sudo apt-get update
sudo apt-get install -y mongodb-org
2.2 CentOS系统安装
# 创建repo文件
cat <
三、关键配置项
3.1 配置文件位置
主要配置文件:/etc/mongod.conf
3.2 重要参数设置
| 参数 | 说明 | 建议值 |
|---|---|---|
| bindIp | 绑定IP地址 | 127.0.0.1,内网IP |
| port | 监听端口 | 27017 |
| storage.dbPath | 数据存储路径 | /var/lib/mongodb |
| systemLog.path | 日志文件路径 | /var/log/mongodb/mongod.log |
四、安全配置
4.1 启用身份验证
- 启动MongoDB服务:
sudo systemctl start mongod - 连接MongoDB:
mongo - 创建管理员用户:
use admin db.createUser({ user: "admin", pwd: "complex_password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) - 修改配置文件启用认证:
security: authorization: enabled
4.2 防火墙配置
仅允许特定IP访问:
# UFW防火墙(Ubuntu)
sudo ufw allow from 192.168.1.0/24 to any port 27017
# Firewalld(CentOS)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="27017" accept'
五、性能优化建议
- 设置合适的WiredTiger缓存大小(建议可用内存的50%)
- 启用journaling保证数据安全
- 定期执行压缩和修复操作
- 监控慢查询并建立合适索引
通过以上步骤,您已经成功在Linux云服务器上配置了MongoDB数据库。记得定期备份数据并保持系统更新,以获得最佳性能和安全性。对于生产环境,建议考虑使用副本集或分片集群来提高可用性和扩展性。
