在腾讯云服务器(腾讯云 CVM)上安装 MongoDB 是非常常见的操作,通常推荐使用官方提供的 YUM(CentOS/RedHat)或 APT(Ubuntu/Debian)包管理器进行安装,这样能确保获取到最新的安全补丁和版本。
以下是针对两种主流 Linux 发行版的详细安装步骤:
1. 准备工作
首先,你需要通过 SSH 登录到你的腾讯云服务器,并确认系统版本。
# 查看系统版本
cat /etc/os-release
2. CentOS / RedHat / Rocky Linux 安装步骤
如果你的服务器是 CentOS 7/8 或 Rocky Linux,请按以下步骤操作:
第一步:导入 GPG 密钥
sudo rpm --import https://www.mongodb.org/static/pgp/server-7.0.asc
(注:如果你需要其他版本,请将 URL 中的 server-7.0 替换为对应版本号,如 server-6.0)
第二步:创建 YUM 配置文件
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
第三步:安装 MongoDB
sudo yum install -y mongodb-org
第四步:启动并设置开机自启
sudo systemctl start mongod
sudo systemctl enable mongod
第五步:验证状态
systemctl status mongod
3. Ubuntu / Debian 安装步骤
如果你的服务器是 Ubuntu 20.04/22.04 或 Debian,请按以下步骤操作:
第一步:导入 GPG 密钥
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
第二步:添加 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
第三步:更新软件包列表并安装
sudo apt-get update
sudo apt-get install -y mongodb-org
第四步:启动并设置开机自启
sudo systemctl start mongod
sudo systemctl enable mongod
第五步:验证状态
systemctl status mongod
4. 关键配置与腾讯云安全组设置(非常重要)
默认情况下,MongoDB 只监听本地回环地址 (127.0.0.1),且端口 27017 在腾讯云控制台的“安全组”中是关闭的。如果你需要远程连接数据库,必须完成以下两步:
A. 修改 MongoDB 配置文件
编辑配置文件以允许外部访问(默认路径通常为 /etc/mongod.conf):
sudo vim /etc/mongod.conf
找到 net: 部分,修改 bindIp 和 port:
net:
port: 27017
bindIp: 0.0.0.0 # 改为 0.0.0.0 允许所有 IP 访问(生产环境建议配合用户权限管理)
保存退出后,重启服务生效:
sudo systemctl restart mongod
B. 配置腾讯云安全组
- 登录 腾讯云控制台。
- 进入 云服务器 (CVM) -> 实例 -> 点击你的实例 ID。
- 点击右侧的 安全组 标签页(或直接搜索“安全组”)。
- 找到该实例绑定的安全组,点击 修改规则。
- 添加一条 入方向 规则:
- 类型:自定义 TCP
- 协议端口:27017
- 来源:根据你的需求填写(测试时可用
0.0.0.0/0,生产环境建议限制为你的办公 IP)。 - 策略:允许
- 保存规则。
C. 配置 MongoDB 用户认证(推荐)
为了安全起见,强烈建议在启动 MongoDB 后创建一个管理员账号,而不是完全开放无密码访问。
- 使用 root 身份进入 MongoDB Shell:
mongo - 切换到 admin 数据库并创建用户(假设用户名为
admin,密码为your_password):use admin db.createUser({ user: "admin", pwd: "your_password", roles: [{ role: "root", db: "admin" }] }) - 修改配置文件启用认证:
在/etc/mongod.conf中添加:security: authorization: enabled - 重启服务:
sudo systemctl restart mongod注意:开启认证后,连接时必须携带用户名和密码,例如:
mongo "mongodb://admin:your_password@<服务器IP>:27017/?authSource=admin"
常见问题排查
- 连接被拒绝 (Connection refused):检查是否已在安全组放行 27017 端口,以及
mongod.conf中bindIp是否包含0.0.0.0。 - 权限不足 (Permission denied):如果是 Ubuntu/Debian,有时需要手动创建数据目录并赋予权限:
sudo mkdir -p /data/db sudo chown -R mongodb:mongodb /data/db - 防火墙拦截:如果服务器内部开启了
firewalld(CentOS) 或ufw(Ubuntu),也需要在系统内部放行端口。
按照以上步骤操作后,你的腾讯云服务器应该已经成功运行了 MongoDB,并且可以通过客户端工具(如 Navicat、Robo3T 或命令行)进行连接。
CLOUD技术博