使用Linux VPS服务器搭建MongoDB数据库:副本集与分片部署
文章分类:行业新闻 /
创建时间:2025-11-04
在Linux VPS服务器上搭建MongoDB数据库并配置副本集与分片,能有效提升数据库的可用性、性能和可扩展性。无论是支撑高并发业务还是应对数据量增长,这一部署方案都是企业级应用的重要选择。下面将从安装到配置的全流程展开详细说明。
核心问题:如何在Linux VPS上实现MongoDB副本集与分片?
搭建MongoDB副本集与分片需分三步推进:首先完成MongoDB安装,接着分别配置副本集与分片,过程中需重点关注网络连通性、数据目录权限等细节。
详细操作步骤
第一步:安装MongoDB
以Ubuntu系统的Linux VPS为例,需先添加MongoDB官方源。在终端执行以下命令:
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
安装完成后启动服务并设置开机自启:
sudo systemctl start mongod
sudo systemctl enable mongod
第二步:配置副本集
假设使用三台Linux VPS服务器(IP分别为192.168.1.101、192.168.1.102、192.168.1.103)搭建副本集。首先在每台服务器的MongoDB配置文件`/etc/mongod.conf`中添加以下内容:
replication:
replSetName: "rs0"
保存后重启服务:
sudo systemctl restart mongod
接着在其中一台服务器连接MongoDB shell:
mongo
执行初始化命令完成副本集配置:
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "192.168.1.101:27017" },
{ _id: 1, host: "192.168.1.102:27017" },
{ _id: 2, host: "192.168.1.103:27017" }
]
})
最后通过`rs.status()`命令验证副本集状态是否正常。
第三步:配置分片
分片部署需协调分片服务器、配置服务器和路由服务器(mongos)三个组件。
1. **配置服务器**
在独立服务器上修改配置文件`/etc/mongod.conf`,添加:
sharding:
clusterRole: configsvr
replication:
replSetName: "configReplSet"
重启服务后,在MongoDB shell中初始化配置服务器副本集:
rs.initiate({
_id: "configReplSet",
configsvr: true,
members: [
{ _id: 0, host: "192.168.1.104:27019" }
]
})
2. **分片服务器**
在其他服务器的配置文件中添加:
sharding:
clusterRole: shardsvr
重启服务完成分片服务器配置。
3. **路由服务器(mongos)**
在单独VPS上安装并启动mongos:
sudo apt-get install -y mongodb-mongos
mongos --configdb configReplSet/192.168.1.104:27019
连接mongos后执行分片启用命令:
sh.addShard("192.168.1.105:27017")
sh.enableSharding("testdb")
sh.shardCollection("testdb.testcollection", { "field": 1 })
通过上述步骤,即可在Linux VPS服务器上完成MongoDB副本集与分片的搭建,为数据库的高可用、高性能运行奠定基础。
工信部备案:粤ICP备18132883号-2