无外网CentOS 7环境下仅用RPM包安装MongoDB 4.2.x的方法问询
嘿,我来帮你搞定这个问题!既然你已经有了MongoDB的RPM包,而且服务器没法连外网,那咱们就完全靠本地包来完成安装,步骤很清晰,跟着做就行:
第一步:把RPM包传到服务器上
先把你手里的MongoDB RPM包上传到CentOS7服务器的某个目录,比如/opt/mongodb-rpms/。如果你的本地电脑能连服务器,用scp命令最方便:
# 本地终端执行,替换成你的服务器IP和本地包路径 scp /本地存放路径/*.rpm root@你的服务器IP:/opt/mongodb-rpms/
要是没有终端工具,用SFTP类的图形工具传也可以,只要把包放到服务器上就行。
第二步:检查并补全系统依赖
MongoDB安装需要几个系统基础包,先看看你的服务器有没有:
rpm -q libcurl openssl libyaml-cpp
如果输出里有is not installed的提示,那你得从CentOS7的安装镜像里找对应的RPM包来装(因为没外网,只能用本地镜像)。比如挂载系统镜像到服务器:
# 假设你的CentOS7镜像文件存在/root/CentOS-7-x86_64-DVD.iso路径下 mount -o loop /root/CentOS-7-x86_64-DVD.iso /mnt/centos-local-repo # 然后用本地镜像源安装缺失的依赖 yum --disablerepo=* --enablerepo=c7-media install libcurl openssl libyaml-cpp
如果所有依赖都显示已安装,直接跳过这一步。
第三步:安装MongoDB的RPM包
进入存放RPM包的目录,用rpm命令安装。注意MongoDB的官方RPM是分组件的,至少要装mongodb-org-server(核心服务),如果需要命令行客户端和工具,还要装mongodb-org-shell、mongodb-org-tools:
cd /opt/mongodb-rpms/ # 替换成你实际的包文件名,*号可以匹配版本号 rpm -ivh mongodb-org-server-4.2.*.x86_64.rpm mongodb-org-shell-4.2.*.x86_64.rpm mongodb-org-tools-4.2.*.x86_64.rpm
这里-ivh的意思是:i=安装,v=显示详细过程,h=显示进度条,方便你看安装情况。如果安装时提示依赖缺失,回到第二步补全依赖就行。
第四步:配置MongoDB(可选但建议做)
安装完后,MongoDB的默认配置文件在/etc/mongod.conf,你可以用vi编辑器修改:
vi /etc/mongod.conf
比如你要允许远程连接,就把bindIp改成0.0.0.0;或者修改数据存储路径、日志路径,根据你的需求调整就行,改完保存退出。
第五步:启动MongoDB并设置开机自启
# 启动服务 systemctl start mongod # 设置开机自动启动,避免服务器重启后服务停了 systemctl enable mongod # 检查服务状态,看看是不是正常运行了 systemctl status mongod
如果状态显示active (running),那就说明服务跑起来了。
第六步:验证安装成功
打开MongoDB的命令行客户端测试:
mongo
要是能进入MongoDB的交互界面,那恭喜你,安装完全成功了!
一些小提醒
- 如果你只有
mongodb-org-server的包,那只能运行MongoDB服务,没法用命令行客户端操作,要是需要的话,得确保拿到对应的mongodb-org-shell包。 - 要是安装时出现“文件冲突”的错误,大概率是之前装过其他版本的MongoDB,先卸载旧版本:
rpm -e mongodb-org-server(卸载前记得备份数据哦)。
内容的提问来源于stack exchange,提问作者edjm

