You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署MERN应用:如何在DigitalOcean Droplet上免费搭建MongoDB?

在DigitalOcean Droplet上搭建MongoDB并对接MERN应用

当然可以在承载MERN应用的同一台DigitalOcean Droplet上搭建MongoDB,无需额外付费,以下是具体操作步骤:

前提条件

  • 已创建并登录DigitalOcean Droplet(推荐使用Ubuntu系统,兼容性最佳)
  • Droplet上已配置好Node.js环境(用于运行MERN后端服务)

步骤1:安装MongoDB

  • 更新系统包列表:
    sudo apt update
    
  • 安装MongoDB:
    sudo apt install -y mongodb
    
  • 启动服务并设置开机自启:
    sudo systemctl start mongodb
    sudo systemctl enable mongodb
    
  • 验证安装状态:
    # 查看版本
    mongod --version
    # 或检查服务运行状态
    sudo systemctl status mongodb
    

步骤2:配置MongoDB(安全优化)

默认MongoDB仅允许本地访问,对同一Droplet上的应用足够安全;若需临时远程调试(不建议生产环境),可修改配置:

  • 打开配置文件:
    sudo nano /etc/mongodb.conf
    
  • 找到bindIp字段,将默认值127.0.0.1改为0.0.0.0(生产环境需配合防火墙限制指定IP访问)
  • 重启服务生效:
    sudo systemctl restart mongodb
    

步骤3:创建专用数据库与用户(生产环境必备)

默认MongoDB未启用认证,必须配置用户权限保障数据安全:

  • 进入MongoDB Shell:
    mongo
    
  • 创建管理员用户:
    use admin
    db.createUser({
      user: "admin_user",
      pwd: "your_strong_admin_pwd",
      roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
    })
    
  • 退出Shell,修改配置启用认证:
    sudo nano /etc/mongodb.conf
    
    添加或修改security区块:
    security:
      authorization: enabled
    
  • 重启服务后,用管理员账号登录:
    mongo -u admin_user -p your_strong_admin_pwd --authenticationDatabase admin
    
  • 为MERN应用创建专用数据库和读写用户:
    use mern_app_db
    db.createUser({
      user: "mern_app_user",
      pwd: "your_app_user_pwd",
      roles: [{ role: "readWrite", db: "mern_app_db" }]
    })
    

步骤4:修改MERN后端连接字符串

将原MongoDB Atlas或其他远程服务的连接地址,替换为本地MongoDB的连接字符串:

  • 启用认证时的格式:
    mongoose.connect('mongodb://mern_app_user:your_app_user_pwd@localhost:27017/mern_app_db', {
      useNewUrlParser: true,
      useUnifiedTopology: true
    });
    
  • 未启用认证时的简化格式:
    mongoose.connect('mongodb://localhost:27017/mern_app_db', {
      useNewUrlParser: true,
      useUnifiedTopology: true
    });
    

步骤5:测试与部署

启动MERN后端服务,确认数据库连接正常;前端可通过Nginx反向代理部署,或直接用Node.js静态文件服务托管。

注意事项

  • 生产环境禁止开放MongoDB远程访问权限,必须启用认证
  • 定期用mongodump备份数据:
    mongodump --db mern_app_db --out /path/to/backup/dir
    
  • 低配置Droplet(如1GB内存)需调整MongoDB内存限制,避免占用过多资源影响应用运行

内容的提问来源于stack exchange,提问作者Petar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 06:22:03