在腾讯云服务器(CVM)上安装 MongoDB 通常有几种主流方式,最推荐的是使用 官方提供的 APT/YUM 源 或 Docker 容器化部署。以下是基于 Ubuntu/Debian 和 CentOS/RHEL 两种常见系统的详细步骤:
方法一:使用官方源安装(推荐,适合生产环境)
这种方式安装的是原生二进制包,性能最好,且方便后续通过包管理器升级。
1. 导入 GPG 密钥
首先获取 MongoDB 的公钥,以确保下载软件包的真实性。
-
Ubuntu/Debian:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg(注:请将
7.0替换为你需要的具体版本号,如6.0) -
CentOS/RHEL:
sudo rpm --import https://www.mongodb.org/static/pgp/server-7.0.asc
2. 添加软件源
-
Ubuntu/Debian:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/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 sudo apt-get update -
CentOS/RHEL:
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/$releasever/mongodb-org/7.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc EOF sudo yum makecache
3. 安装 MongoDB
# Ubuntu/Debian
sudo apt-get install -y mongodb-org
# CentOS/RHEL
sudo yum install -y mongodb-org
4. 启动并设置开机自启
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
方法二:使用 Docker 安装(快速、隔离性好)
如果你不想在系统层面配置复杂的依赖,或者需要频繁切换版本,Docker 是最佳选择。
-
安装 Docker(如果尚未安装):
- Ubuntu:
curl -fsSL https://get.docker.com | sh - CentOS:
sudo yum install -y docker-ce docker-ce-cli containerd.io - 启动 Docker:
sudo systemctl start docker && sudo systemctl enable docker
- Ubuntu:
-
拉取并运行 MongoDB 镜像:
docker run -d --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=your_password -v /opt/data/db:/data/db mongo:7.0-p 27017:27017: 映射端口,注意腾讯云控制台需放行该端口。-v ...: 将数据持久化到宿主机目录,防止容器删除后数据丢失。-e ...: 设置初始管理员账号密码。
⚠️ 关键后续步骤:配置安全与网络访问
在腾讯云上安装完成后,必须执行以下操作才能从外部连接数据库:
1. 修改 MongoDB 配置文件
默认情况下,MongoDB 只监听本地回环地址 (127.0.0.1),这会导致无法远程连接。
编辑配置文件(路径视系统而定):
- Ubuntu:
/etc/mongod.conf - CentOS:
/etc/mongod.conf
找到 net: 部分,修改如下:
net:
port: 27017
bindIp: 0.0.0.0 # 允许所有 IP 连接(生产环境建议配合白名单或防火墙策略)
保存后重启服务:sudo systemctl restart mongod。
2. 配置腾讯云安全组(至关重要)
登录 腾讯云控制台 -> 云服务器 (CVM) -> 点击实例 -> 安全组。
- 检查是否有入方向规则允许 TCP 27017 端口。
- 如果没有,请添加入站规则:协议 TCP,端口 27017,来源
0.0.0.0/0(仅测试用)或指定你的公网 IP。
3. 创建远程用户(可选但推荐)
为了安全,不建议直接使用 root 账户远程连接。可以在 Mongo Shell 中创建专用用户:
mongo
use admin
db.createUser({
user: "myUser",
pwd: "StrongPassword123!",
roles: [{ role: "readWrite", db: "myDatabase" }]
})
exit
常见问题排查
- 连接被拒绝 (Connection refused):通常是安全组未放行端口,或者
bindIp未设置为0.0.0.0。 - 认证失败 (Authentication failed):检查用户名密码是否正确,以及是否使用了
--authenticationDatabase admin参数。 - 磁盘空间不足:MongoDB 日志和数据文件增长较快,建议定期检查 CVM 磁盘空间。
根据你的需求选择 原生安装(追求极致性能和管理灵活性)或 Docker 安装(追求部署速度和环境隔离)。
云服务器