当前位置:首页 > 行业动态 > 正文

服务器搭建mongo

在服务器搭建MongoDB需先安装对应版本软件包,配置数据存储目录和日志文件,设置绑定IP与端口权限,建议启用身份验证并配置防火墙规则,通过systemd管理服务进程,最后用mongo shell测试连接,注意定期备份数据并遵循安全最佳实践。

服务器搭建MongoDB完整指南


准备工作

  1. 服务器选择

    • 推荐使用Linux系统(如Ubuntu 22.04 LTS或CentOS 8),确保内核版本支持MongoDB的运行。
    • 配置至少2GB内存(4GB以上更佳),20GB存储空间,并开放SSH端口(默认22)及MongoDB默认端口27017
  2. 环境检查

    # 更新系统软件包
    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

服务器搭建mongo

# 创建仓库文件
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

安全配置

  1. 创建管理员账户
    连接到MongoDB Shell:

    mongosh

    执行以下命令:

    use admin
    db.createUser({
      user: "admin",
      pwd: "your_secure_password",
      roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    })
  2. 启用身份验证
    修改配置文件:

    sudo nano /etc/mongod.conf

    找到security部分并添加:

    服务器搭建mongo

    security:
      authorization: enabled

    重启服务生效:

    sudo systemctl restart mongod
  3. 防火墙配置
    仅允许可信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

远程访问配置

  1. 修改监听地址
    编辑配置文件:

    sudo nano /etc/mongod.conf

    net.bindIp改为0.0.0

    服务器搭建mongo

    net:
      port: 27017
      bindIp: 0.0.0.0
  2. 重启服务

    sudo systemctl restart mongod

数据备份与恢复

  1. 手动备份
    mongodump --uri="mongodb://admin:your_password@localhost:27017" --out=/path/to/backup
  2. 恢复数据
    mongorestore --uri="mongodb://admin:your_password@localhost:27017" /path/to/backup

常见问题排查

  • 无法连接MongoDB
    检查防火墙规则、MongoDB服务状态及配置文件中的bindIp设置。
  • 权限认证失败
    确保账号密码正确,且authorization: enabled已启用。
  • 存储空间不足
    扩展磁盘容量或清理旧数据:

    mongosh --eval "db.adminCommand({cleanupOrphaned: 'dbname'})"

引用说明
本文参考MongoDB官方文档及Linux系统管理最佳实践,确保配置符合安全与性能标准。