服务器搭建mongo
- 行业动态
- 2025-04-11
- 7
在服务器搭建MongoDB需先安装对应版本软件包,配置数据存储目录和日志文件,设置绑定IP与端口权限,建议启用身份验证并配置防火墙规则,通过systemd管理服务进程,最后用mongo shell测试连接,注意定期备份数据并遵循安全最佳实践。
服务器搭建MongoDB完整指南
准备工作
服务器选择
- 推荐使用Linux系统(如Ubuntu 22.04 LTS或CentOS 8),确保内核版本支持MongoDB的运行。
- 配置至少2GB内存(4GB以上更佳),20GB存储空间,并开放SSH端口(默认22)及MongoDB默认端口27017。
环境检查
# 更新系统软件包 sudo apt update && sudo apt upgrade -y # Ubuntu/Debian # 或 sudo yum update -y # CentOS/RHEL
安装MongoDB
通过官方仓库安装
Ubuntu/Debian
# 导入MongoDB公钥 wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add - # 添加MongoDB源 echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list # 安装MongoDB sudo apt update sudo apt install -y mongodb-org
CentOS/RHEL
# 创建仓库文件 cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-7.0.repo [mongodb-org-7.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc EOF # 安装MongoDB sudo yum install -y mongodb-org
启动并验证服务
sudo systemctl start mongod sudo systemctl enable mongod # 检查运行状态 sudo systemctl status mongod
安全配置
创建管理员账户
连接到MongoDB Shell:mongosh
执行以下命令:
use admin db.createUser({ user: "admin", pwd: "your_secure_password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
启用身份验证
修改配置文件:sudo nano /etc/mongod.conf
找到
security
部分并添加:security: authorization: enabled
重启服务生效:
sudo systemctl restart mongod
防火墙配置
仅允许可信IP访问27017端口:sudo ufw allow from 192.168.1.0/24 to any port 27017 # Ubuntu # 或 sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="27017" accept' # CentOS
远程访问配置
修改监听地址
编辑配置文件:sudo nano /etc/mongod.conf
将
net.bindIp
改为0.0.0
:net: port: 27017 bindIp: 0.0.0.0
重启服务
sudo systemctl restart mongod
数据备份与恢复
- 手动备份
mongodump --uri="mongodb://admin:your_password@localhost:27017" --out=/path/to/backup
- 恢复数据
mongorestore --uri="mongodb://admin:your_password@localhost:27017" /path/to/backup
常见问题排查
- 无法连接MongoDB
检查防火墙规则、MongoDB服务状态及配置文件中的bindIp
设置。 - 权限认证失败
确保账号密码正确,且authorization: enabled
已启用。 - 存储空间不足
扩展磁盘容量或清理旧数据:mongosh --eval "db.adminCommand({cleanupOrphaned: 'dbname'})"
引用说明
本文参考MongoDB官方文档及Linux系统管理最佳实践,确保配置符合安全与性能标准。