ubuntu

MongoDB在Ubuntu上的部署步骤是什么

小樊
52
2025-10-12 09:03:30
栏目: 云计算

MongoDB在Ubuntu上的部署步骤

1. 准备工作

2. 配置MongoDB官方APT仓库

2.1 导入MongoDB官方GPG密钥
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -

注:若使用Ubuntu 20.04,需替换为server-6.0.asc;Ubuntu 18.04替换为server-5.0.asc

2.2 添加MongoDB仓库源

以Ubuntu 22.04(代号jammy)为例:

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

注:根据Ubuntu版本调整代号(如20.04用focal,18.04用bionic)。

2.3 更新软件包列表
sudo apt update

3. 安装MongoDB

sudo apt install -y mongodb-org

注:mongodb-org是MongoDB官方提供的社区版包,包含mongod(数据库服务)、mongo(shell工具)等组件。

4. 启动与启用MongoDB服务

4.1 启动MongoDB服务
sudo systemctl start mongod
4.2 设置开机自启
sudo systemctl enable mongod
4.3 检查服务状态
sudo systemctl status mongod

若状态显示为active (running),说明服务已正常启动。

5. 验证MongoDB安装

mongosh

若提示command not found,需单独安装mongosh(MongoDB Shell):

curl -s "https://www.mongodb.com/docs/mongodb-shell/install/#std-label-install-mdb-shell-linux" | sudo bash

进入Shell后,执行以下命令验证:

show dbs;  # 查看数据库列表
use test;  # 创建/切换到test数据库
db.version();  # 查看MongoDB版本

6. 配置MongoDB(可选但推荐)

6.1 修改配置文件

MongoDB主配置文件路径:/etc/mongod.conf(使用nano编辑):

sudo nano /etc/mongod.conf

常见修改项:

  • 允许远程访问:将bindIp127.0.0.1改为0.0.0.0(注意:开放远程访问需配合防火墙设置,增加安全风险);
  • 修改端口:将port27017改为其他端口(如27018);
  • 设置数据存储路径:修改storage.dbPath(如/var/lib/mongodb)。
6.2 重启服务使配置生效
sudo systemctl restart mongod

7. 设置用户认证(生产环境必做)

7.1 进入MongoDB Shell
mongosh
7.2 切换到admin数据库并创建管理员用户
use admin;
db.createUser({
  user: "admin",
  pwd: "yourStrongPassword",  # 替换为强密码
  roles: [ { role: "root", db: "admin" } ]  # 赋予root权限(最高权限)
});
7.3 启用认证

编辑/etc/mongod.conf,在security部分添加:

security:
  authorization: enabled
7.4 重启MongoDB服务
sudo systemctl restart mongod
7.5 使用认证用户连接
mongosh -u admin -p yourStrongPassword --authenticationDatabase admin

8. 防火墙设置(可选)

若服务器启用了ufw防火墙,需允许MongoDB端口(默认27017):

sudo ufw allow 27017

以上步骤完成后,MongoDB即可在Ubuntu上稳定运行。生产环境中还需定期备份数据、监控性能(如使用mongostatmongotop工具),并根据业务需求调整配置。

0
看了该问题的人还看了