在腾讯云服务器(Tencent Cloud CVM)上安装 MongoDB 通常有两种主流方式:使用官方源安装(推荐,便于更新)和 使用 Docker 安装(隔离性好,部署快)。
以下是基于 Ubuntu/Debian 和 CentOS/RHEL 两种最常见操作系统的详细步骤。
方法一:使用官方源安装(推荐生产环境)
这种方式安装的是原生二进制包,性能最佳,且方便后续通过 apt 或 yum 进行版本升级。
1. 导入 GPG 密钥
首先需要将 MongoDB 的公钥添加到系统中,以验证下载包的真实性。
-
Ubuntu / Debian:
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg(注:请将
server-7.0替换为你需要的版本号,如 6.0) -
CentOS / RHEL:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /etc/pki/rpm-gpg/MONGODB-GPG-KEY
2. 添加软件源仓库
配置系统从哪里下载 MongoDB 安装包。
-
Ubuntu / Debian:
创建源文件/etc/apt/sources.list.d/mongodb-org-7.0.list: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 -
CentOS / RHEL:
创建源文件/etc/yum.repos.d/mongodb-org-7.0.repo: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
3. 安装 MongoDB
- Ubuntu / Debian:
sudo apt-get update sudo apt-get install -y mongodb-org - CentOS / RHEL:
sudo yum makecache fast sudo yum install -y mongodb-org
4. 启动并设置开机自启
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod
方法二:使用 Docker 安装(快速/开发测试)
如果你不想处理复杂的依赖关系,或者需要快速搭建多版本环境,Docker 是更好的选择。
-
安装 Docker(如果尚未安装):
- Ubuntu:
sudo apt install docker.io - CentOS:
sudo yum install docker -y && sudo systemctl start docker
- Ubuntu:
-
拉取镜像并运行容器:
# 拉取最新版镜像 docker pull mongo:latest # 运行容器 (将数据挂载到宿主机 /data/db,端口映射为 27017) docker run -d --name mongo-db -p 27017:27017 -v /data/db:/data/db mongo:latest
⚠️ 关键步骤:配置腾讯云安全组与防火墙
这是最容易出错的一步。 安装成功后,默认情况下 MongoDB 只能被本地访问。你必须修改腾讯云的安全组规则和服务器内部的防火墙,否则无法从网络连接。
1. 修改腾讯云控制台安全组
- 登录 腾讯云控制台。
- 进入 云服务器 (CVM) -> 点击你的实例 ID。
- 点击 网络与安全 -> 安全组。
- 编辑当前绑定的安全组,添加入站规则:
- 协议类型: TCP
- 端口范围:
27017 - 授权对象:
0.0.0.0/0(允许所有 IP,建议仅开放特定 IP 以提高安全性) - 动作: 允许
2. 配置 MongoDB 监听地址 (mongod.conf)
默认配置下,MongoDB 只监听 127.0.0.1。你需要修改配置文件使其监听 0.0.0.0。
- Ubuntu/Debian 配置文件路径:
/etc/mongod.conf - CentOS/RHEL 配置文件路径:
/etc/mongod.conf
找到 net: 部分,修改如下:
net:
port: 27017
bindIp: 0.0.0.0 # 关键:允许外部访问
# 如果是 Docker 模式,通常不需要改这个,因为容器内部已配置好
修改完成后,重启服务:
sudo systemctl restart mongod
3. (可选) 配置内部防火墙 (firewalld/ufw)
如果服务器开启了 firewalld (CentOS) 或 ufw (Ubuntu),也需要放行端口:
- CentOS (firewalld):
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload - Ubuntu (ufw):
sudo ufw allow 27017/tcp
验证与远程连接
-
本地验证:
在服务器上执行:mongosh # 或者旧版本 mongo如果能进入命令行界面,说明服务正常。
-
远程连接测试:
在你的本地电脑(Windows/Mac/Linux)上使用 MongoDB Compass 或终端尝试连接:mongosh mongodb://<腾讯云公网IP>:27017注意:首次连接前,建议在 MongoDB 中创建一个具有管理员权限的用户(详见 MongoDB 官方文档关于 Authentication 的部分),不要直接裸奔在公网。
💡 安全建议
由于 MongoDB 数据库通常包含敏感数据,强烈建议:
- 开启身份验证:在
mongod.conf中设置security.authorization: enabled并创建用户。 - 限制 IP:在安全组中,将
授权对象设置为你的办公 IP 或应用服务器的内网 IP,而不是0.0.0.0/0。 - 使用内网通信:如果你的应用也在腾讯云上,尽量让应用通过内网 IP 连接 MongoDB,这样速度更快且无需暴露公网端口。
CLOUD云枢