腾讯服务器安装MongoDB?

在腾讯云服务器(Tencent Cloud CVM)上安装 MongoDB 通常有两种主流方式:使用官方源安装(推荐,便于更新)和 使用 Docker 安装(隔离性好,部署快)。

以下是基于 Ubuntu/DebianCentOS/RHEL 两种最常见操作系统的详细步骤。


方法一:使用官方源安装(推荐生产环境)

这种方式安装的是原生二进制包,性能最佳,且方便后续通过 aptyum 进行版本升级。

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 是更好的选择。

  1. 安装 Docker(如果尚未安装):

    • Ubuntu: sudo apt install docker.io
    • CentOS: sudo yum install docker -y && sudo systemctl start docker
  2. 拉取镜像并运行容器:

    # 拉取最新版镜像
    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. 修改腾讯云控制台安全组

  1. 登录 腾讯云控制台。
  2. 进入 云服务器 (CVM) -> 点击你的实例 ID。
  3. 点击 网络与安全 -> 安全组
  4. 编辑当前绑定的安全组,添加入站规则
    • 协议类型: 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

验证与远程连接

  1. 本地验证
    在服务器上执行:

    mongosh
    # 或者旧版本
    mongo

    如果能进入命令行界面,说明服务正常。

  2. 远程连接测试
    在你的本地电脑(Windows/Mac/Linux)上使用 MongoDB Compass 或终端尝试连接:

    mongosh mongodb://<腾讯云公网IP>:27017

    注意:首次连接前,建议在 MongoDB 中创建一个具有管理员权限的用户(详见 MongoDB 官方文档关于 Authentication 的部分),不要直接裸奔在公网。

💡 安全建议

由于 MongoDB 数据库通常包含敏感数据,强烈建议

  1. 开启身份验证:在 mongod.conf 中设置 security.authorization: enabled 并创建用户。
  2. 限制 IP:在安全组中,将 授权对象 设置为你的办公 IP 或应用服务器的内网 IP,而不是 0.0.0.0/0
  3. 使用内网通信:如果你的应用也在腾讯云上,尽量让应用通过内网 IP 连接 MongoDB,这样速度更快且无需暴露公网端口。
未经允许不得转载:CLOUD云枢 » 腾讯服务器安装MongoDB?