在腾讯云轻量应用服务器上部署 MongoDB 是一个常见且实用的操作。以下是详细的部署步骤,适用于 Ubuntu 或 CentOS 系统(以 Ubuntu 20.04 为例):
✅ 一、准备工作
-
购买并登录腾讯云轻量服务器
- 登录 腾讯云控制台
- 购买「轻量应用服务器」,选择 Ubuntu 22.04 或 20.04 系统。
- 获取公网 IP、用户名(默认
ubuntu或root)、密码或密钥。
-
连接服务器
ssh ubuntu@你的公网IP -
更新系统
sudo apt update && sudo apt upgrade -y
✅ 二、安装 MongoDB
MongoDB 官方推荐使用其官方仓库安装最新版本。
1. 导入 MongoDB GPG 密钥
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
注意:MongoDB 6.0+ 使用
.asc密钥文件,若提示apt-key已弃用,可使用以下方式(Ubuntu 22.04+):sudo mkdir -p /etc/apt/keyrings curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /etc/apt/keyrings/mongodb-server-7.0.gpg
2. 添加 MongoDB 官方仓库
echo "deb [ arch=amd64, signed-by=/etc/apt/keyrings/mongodb-server-7.0.gpg ] https://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
3. 更新包列表并安装 MongoDB
sudo apt update
sudo apt install -y mongodb-org
✅ 三、启动并设置开机自启
# 启动 MongoDB 服务
sudo systemctl start mongod
# 设置开机自启
sudo systemctl enable mongod
# 查看状态
sudo systemctl status mongod
如果提示 Unit mongod not found,请检查服务名是否为 mongodb(旧版本):
sudo systemctl start mongodb
✅ 四、配置远程访问(可选)
默认 MongoDB 只监听 127.0.0.1,需修改配置以支持远程连接。
1. 编辑配置文件
sudo nano /etc/mongod.conf
修改以下内容:
network:
port: 27017
bindIp: 0.0.0.0 # 原来是 127.0.0.1,改为 0.0.0.0 允许外部访问
⚠️ 注意:开放 0.0.0.0 有安全风险,请配合防火墙和认证使用。
2. 重启服务
sudo systemctl restart mongod
✅ 五、设置用户名密码(强烈建议)
-
连接本地 MongoDB
mongosh -
切换到
admin数据库并创建管理员用户use admin db.createUser({ user: "admin", pwd: "yourStrongPassword123", // 修改为强密码 roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] }) -
启用认证(可选但推荐)
编辑 /etc/mongod.conf,在 security 部分添加:
security:
authorization: enabled
重启服务:
sudo systemctl restart mongod
之后连接需要认证:
mongosh -u admin -p yourStrongPassword123 --authenticationDatabase admin
✅ 六、配置腾讯云防火墙(安全组)
- 登录腾讯云控制台 → 轻量服务器 → 防火墙
- 添加规则:
- 协议:TCP
- 端口:27017
- 源 IP:建议限制为你的 IP(如
123.123.123.123/32),不要开放 0.0.0.0/0 以防被攻击。
✅ 七、连接测试
从本地使用 MongoDB 客户端连接:
mongosh "mongodb://admin:yourPassword@你的公网IP:27017/admin"
或使用 GUI 工具如 MongoDB Compass、Studio 3T 等。
✅ 八、安全建议
-
不要长期开放 27017 给所有人
-
使用强密码,定期更换
-
考虑使用 SSH 隧道连接,更安全:
ssh -L 27017:localhost:27017 ubuntu@你的服务器IP然后本地连接
localhost:27017 -
定期备份数据
❌ 常见问题
- 无法连接? 检查防火墙、
bindIp、MongoDB 是否运行。 mongosh命令不存在?需单独安装:curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg echo "deb [ arch=amd64, signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://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 sudo apt update && sudo apt install -y mongodb-mongosh
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1 | 更新系统 |
| 2 | 安装 MongoDB 官方源和软件 |
| 3 | 启动并设置开机自启 |
| 4 | 修改配置支持远程访问 |
| 5 | 创建用户并启用认证 |
| 6 | 配置腾讯云防火墙 |
| 7 | 安全连接测试 |
如需一键脚本或 Docker 部署方式,也可以告诉我,我可以提供相应方案。
CDNK博客