在腾讯云服务器(Tencent Cloud CVM)上安装 MongoDB 主要有两种方式:使用官方源安装(推荐,便于更新和维护)和使用 Docker 容器化安装(隔离性好,部署快)。
以下是两种主流方案的详细步骤:
前置准备
无论选择哪种方式,请确保你的服务器已配置好基础环境。登录到腾讯云 CVM 后,建议先执行系统更新并安装必要工具:
# Ubuntu/Debian 示例
sudo apt update && sudo apt upgrade -y
sudo apt install curl gnupg -y
# CentOS/Alibaba/TencentOS 示例
sudo yum update -y
sudo yum install curl -y
方案一:使用官方源安装(推荐用于生产环境)
这种方式安装的 MongoDB 是原生二进制文件,性能最佳,且支持通过包管理器轻松升级。
1. 导入 GPG 密钥并添加软件源
根据你的操作系统版本执行对应命令:
Ubuntu (20.04/22.04):
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update
CentOS 8/9 / Rocky Linux:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /etc/pki/rpm-gpg/MONGODB-GPG-Key
sudo tee /etc/yum.repos.d/mongodb-org-7.0.repo <<EOF
[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
2. 安装 MongoDB
# Ubuntu
sudo apt install mongodb-org -y
# CentOS
sudo yum install mongodb-org -y
3. 启动并设置开机自启
# 启动服务
sudo systemctl start mongod
# 设置开机自启
sudo systemctl enable mongod
# 查看状态
sudo systemctl status mongod
4. 配置防火墙与安全组(关键步骤)
MongoDB 默认监听 27017 端口。如果无法连接,需检查两处:
- 腾讯云控制台安全组:登录腾讯云网页控制台 -> 实例列表 -> 点击你的实例 -> “安全组” -> 添加入站规则,允许 TCP 27017。
- 系统内部防火墙:
- Ubuntu (UFW):
sudo ufw allow 27017/tcp - CentOS (firewalld):
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent && sudo firewall-cmd --reload
- Ubuntu (UFW):
5. 远程连接测试与初始化
编辑配置文件以允许远程访问(默认绑定 127.0.0.1):
sudo vim /etc/mongod.conf
找到 net: 部分,修改 bindIp 为所有 IP 或特定内网 IP:
net:
port: 27017
bindIp: 0.0.0.0 # 注意:生产环境建议仅绑定内网 IP 或使用白名单
重启服务生效:sudo systemctl restart mongod
然后创建管理员账户:
mongosh
# 进入 shell 后执行:
use admin
db.createUser({
user: "admin",
pwd: "你的强密码",
roles: [ { role: "root", db: "admin" } ]
})
exit
方案二:使用 Docker 安装(快速、隔离)
如果你不想管理复杂的依赖关系,或者需要快速部署多版本,Docker 是更好的选择。
1. 安装 Docker
# Ubuntu
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# CentOS
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
2. 运行 MongoDB 容器
docker run -d
--name mongo
-p 27017:27017
-e MONGO_INITDB_ROOT_USERNAME=admin
-e MONGO_INITDB_ROOT_PASSWORD=你的强密码
mongo:latest
注:-p 27017:27017 将容器端口映射到宿主机,同样需要在腾讯云安全组放行 27017 端口。
⚠️ 重要安全提示
- 公网暴露风险:MongoDB 默认无认证机制或弱认证极易被勒索病毒攻击。强烈建议:
- 不要将
bindIp设置为0.0.0.0除非你非常清楚自己在做什么。 - 优先通过内网 IP连接,或者使用SSH 隧道进行远程开发。
- 务必设置强密码(如方案一第 5 步所示)。
- 不要将
- 数据备份:定期使用
mongodump对数据进行备份,防止误操作或硬件故障。 - 监控资源:MongoDB 对内存和磁盘 IO 有一定要求,建议在腾讯云控制台开启“云监控”,观察 CPU 和内存使用情况,避免实例过载。
如果你需要针对特定操作系统版本(如 CentOS 7 或 Ubuntu 18.04)的详细命令,请告诉我具体版本。
云知识CLOUD