售前咨询
MongoDB是一款开源的NoSQL文档数据库,凭借灵活的文档模型、高效的读写性能和良好的可扩展性,广泛应用于各类数据存储场景,尤其适合处理非结构化、半结构化数据。谷歌云服务器(GCP Compute Engine)拥有稳定的基础设施、灵活的配置选择和全球分布的节点,将MongoDB部署在谷歌云服务器上,既能保障数据库稳定运行,又能依托谷歌云的网络优势,实现数据的安全存储与便捷访问。搭建过程需遵循“谷歌云实例创建—基础环境配置—MongoDB安装—配置优化—测试验证”的规范流程,新手遵循步骤逐步操作,即可顺利完成部署。
搭建前需做好基础准备工作,核心是完成谷歌云相关配置和环境铺垫。首先需拥有谷歌云账号,完成实名认证并开通结算功能,确保能正常创建虚拟机实例。随后明确MongoDB部署需求,个人或小型项目使用,推荐选择e2-medium机型,搭配2核4G内存、50G以上SSD存储,系统优先选择Ubuntu 22.04 LTS版本,该版本稳定性强、软件源丰富,且能完美适配MongoDB的最新稳定版本,减少安装冲突。
准备工作完成后,首先创建谷歌云虚拟机实例,这是搭建MongoDB的基础。登录谷歌云控制台,点击左侧导航栏“Compute Engine—虚拟机实例”,点击“创建实例”,填写实例名称,选择合适的区域和可用区,建议选择距离自身或目标用户较近的区域,降低网络延迟。在“机器配置”中选择预设机型或自定义配置,确保内存和存储满足MongoDB运行需求。
系统选择环节,在“启动磁盘”中选择“Ubuntu 22.04 LTS”,设置磁盘大小;网络配置中,勾选“允许HTTP流量”和“允许HTTPS流量”,并配置防火墙规则,暂时开放后续MongoDB所需的27017默认端口,方便后续访问。配置完成后点击“创建”,等待几分钟,虚拟机实例即可创建完成,创建成功后可在实例列表中看到实例状态、公网IP等信息,记录公网IP,后续用于远程连接和访问。
虚拟机实例创建完成后,通过SSH连接服务器,开始配置基础环境。谷歌云控制台提供便捷的SSH连接方式,在实例列表中点击对应实例的“SSH”按钮,即可直接打开终端窗口,无需额外配置远程连接工具。连接成功后,首先更新系统软件包,执行“sudo apt update && sudo apt upgrade -y”命令,确保系统处于最新状态,修复潜在漏洞,减少后续MongoDB安装过程中的冲突。
基础环境更新完成后,开始安装MongoDB。首先导入MongoDB官方GPG密钥,执行“wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -”命令,确保安装包的安全性。随后创建MongoDB软件源文件,执行“echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list”,添加官方软件源,确保能下载到稳定版本的MongoDB。
软件源配置完成后,更新软件包缓存,执行“sudo apt update”命令,随后安装MongoDB核心组件,执行“sudo apt install -y mongodb-org mongodb-mongosh”命令,该命令会自动安装MongoDB服务器、客户端等相关组件,安装过程耗时根据网络速度而定,期间请勿关闭终端窗口。安装完成后,启动MongoDB服务,执行“sudo systemctl start mongod”命令,并设置开机自启,执行“sudo systemctl enable mongod”,确保服务器重启后MongoDB能自动运行。
启动MongoDB服务后,验证服务是否正常运行,执行“sudo systemctl status mongod”命令,若终端显示“active (running)”,说明MongoDB服务启动成功。随后通过MongoDB客户端连接数据库,执行“mongosh”命令,进入MongoDB交互界面,若能正常进入,且无报错信息,说明MongoDB安装成功,可进行后续配置操作。
MongoDB安装完成后,需进行核心配置优化,重点解决默认配置的安全隐患和访问限制。首先修改MongoDB配置文件,配置文件默认路径为“/etc/mongod.conf”,执行“sudo nano /etc/mongod.conf”命令编辑配置文件。默认配置中,MongoDB仅允许本地访问,需修改绑定IP,将“bindIp: 127.0.0.1”改为“bindIp: 0.0.0.0”,允许外部设备通过公网IP访问,同时保留默认端口27017,无需修改,若需自定义端口,可修改“port: 27017”中的端口号。
配置文件修改完成后,保存并退出编辑器,重启MongoDB服务,执行“sudo systemctl restart mongod”命令,使配置生效。随后配置谷歌云防火墙规则,进一步保障MongoDB的访问安全,登录谷歌云控制台,进入“VPC网络—防火墙”,点击“创建防火墙规则”,填写规则名称,设置目标为当前虚拟机实例,协议选择TCP,端口范围填写“27017”,来源IP可根据需求设置,个人使用可设置为“0.0.0.0/0”,允许所有IP访问,企业使用建议设置指定IP白名单,提升安全性。
防火墙配置完成后,启用MongoDB身份认证,这是保障数据库安全的关键步骤。默认情况下,MongoDB无需密码即可访问,存在极大安全隐患,需创建管理员账户并设置密码。在MongoDB交互界面中,执行“use admin”命令切换到管理员数据库,随后执行“db.createUser({user: "admin", pwd: "自定义复杂密码", roles: [{role: "root", db: "admin"}]})”命令,创建超级管理员账户,密码需包含字母、数字和特殊符号,避免使用弱密码。
管理员账户创建完成后,退出MongoDB交互界面,再次编辑MongoDB配置文件,执行“sudo nano /etc/mongod.conf”,找到“security”配置项,添加“authorization: enabled”,启用身份认证功能,保存并退出后,重启MongoDB服务,执行“sudo systemctl restart mongod”,使身份认证生效。后续访问MongoDB时,需输入管理员账户和密码,才能进行数据库操作,有效防止未授权访问。
此外,可根据需求配置MongoDB数据存储路径,默认数据存储路径为“/var/lib/mongodb”,若需修改,可在配置文件中找到“storage.dbPath”,将其改为自定义路径,如“/data/mongodb”,修改完成后,需创建该目录并设置权限,执行“sudo mkdir -p /data/mongodb”和“sudo chown -R mongodb:mongodb /data/mongodb”,确保MongoDB用户拥有该目录的读写权限,避免数据存储失败。
所有配置完成后,进行测试验证,确保MongoDB能正常访问和使用。首先在谷歌云服务器本地测试,执行“mongosh -u admin -p 自定义密码 --authenticationDatabase admin”命令,若能成功进入MongoDB交互界面,说明身份认证配置正常。随后在本地电脑上,通过MongoDB客户端(如Robo 3T)连接,输入谷歌云服务器公网IP、端口27017,以及创建的管理员账户和密码,若能成功连接,说明外部访问配置正常。
测试过程中,可创建测试数据库和集合,验证读写功能,执行“use testdb”创建测试数据库,执行“db.testcol.insertOne({name: "test", value: "mongodb"})”插入测试数据,执行“db.testcol.find()”查询数据,若能正常插入和查询,说明MongoDB搭建成功,可正常使用。
搭建过程中,有一些细节注意事项需严格遵守。一是谷歌云虚拟机实例的区域选择需合理,距离目标用户越近,网络延迟越低,访问速度越快;二是MongoDB配置文件修改后,必须重启服务才能生效,否则配置不生效;三是身份认证必须启用,避免无密码访问导致数据库被非法入侵;四是防火墙规则需精准配置,仅开放必要的27017端口,减少攻击面。
日常运维中,需做好MongoDB的维护工作。定期更新MongoDB版本和系统补丁,修复安全漏洞;通过“mongostat”命令监控数据库运行状态,查看CPU、内存占用和读写情况,及时排查性能瓶颈;定期使用“mongodump”命令备份数据库数据,将备份文件存储在谷歌云存储中,防止数据丢失;定期修改管理员密码,提升数据库安全性。
若觉得手动部署步骤繁琐,可借助谷歌云市场中的MongoDB镜像,直接创建已预装MongoDB的虚拟机实例,简化部署流程,减少配置冲突。搭建完成后,可根据实际需求,创建不同权限的用户,分配对应数据库的读写权限,遵循最小权限原则,进一步保障数据库安全,让MongoDB更好地适配自身的数据存储需求。