在Linux轻量服务器上安装MongoDB的步骤是什么?

在Linux轻量服务器上安装MongoDB的步骤如下(以Ubuntu/Debian系统为例,使用MongoDB官方仓库安装最新社区版):


✅ 步骤 1:更新系统包

sudo apt update
sudo apt upgrade -y

✅ 步骤 2:导入MongoDB GPG密钥

wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

注:此处以 MongoDB 7.0 为例,可根据需要更换版本号。


✅ 步骤 3:添加MongoDB仓库

创建源列表文件:

echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] http://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

✅ 步骤 4:更新APT包索引

sudo apt update

✅ 步骤 5:安装MongoDB

sudo apt install -y mongodb-org

这将安装以下组件:

  • mongod:MongoDB守护进程
  • mongos:分片控制器
  • mongo:命令行客户端

✅ 步骤 6:启动并启用MongoDB服务

# 启动服务
sudo systemctl start mongod

# 设置开机自启
sudo systemctl enable mongod

# 查看状态
sudo systemctl status mongod

如果提示 mongod.service not found,可尝试重启 systemd:

sudo systemctl daemon-reexec
sudo systemctl start mongod

✅ 步骤 7:配置防火墙(如启用)

如果使用 ufw 防火墙,并希望远程访问(⚠️注意安全):

sudo ufw allow 27017

默认只允许本地连接。生产环境建议不要开放公网访问,或使用SSH隧道。


✅ 步骤 8:测试MongoDB

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

应返回类似:

{ "authInfo" : { "authenticatedUsers" : [ ] }, "ok" : 1 }

✅ (可选)配置远程访问和认证

1. 编辑配置文件

sudo nano /etc/mongod.conf

修改以下内容:

net:
  port: 27017
  bindIp: 0.0.0.0    # 允许所有IP连接(谨慎!)

security:
  authorization: enabled   # 启用认证

⚠️ 将 bindIp 设为 0.0.0.0 有安全风险,仅在受信任网络中使用。

2. 重启服务

sudo systemctl restart mongod

3. 创建管理员用户

mongo

在Mongo Shell中执行:

use admin
db.createUser({
  user: "admin",
  pwd: "your_secure_password",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
})
exit

之后连接需认证:

mongo -u admin -p your_secure_password --authenticationDatabase admin

✅ 常见问题排查

  • 服务无法启动:检查日志
    sudo journalctl -u mongod -f
  • 端口被占用:确保 27017 未被其他程序占用
  • 权限问题:确认 /var/lib/mongodb 目录归属为 mongodb 用户

🛡️ 安全建议(轻量服务器特别注意)

  • 不要长期开启 bindIp: 0.0.0.0
  • 使用强密码创建用户
  • 考虑通过 Nginx 或 SSH 隧道X_X访问
  • 定期备份数据

完成以上步骤后,MongoDB 即可在你的 Linux 轻量服务器上运行。适用于开发、测试或小型项目部署。

未经允许不得转载:云计算 » 在Linux轻量服务器上安装MongoDB的步骤是什么?