小编最近在梳理产品时发现之前实现了MongoDB的快速安装,特地整理出这篇文章分享给大家。废话不多说了,请看小编如何实现一分钟内完成MongoDB的安装。小编安装时使用的安装文件如下图,一个Shell安装脚本,MongoDB安装包,MongoDB配置文件。
将这些安装文件上传到CentOS7服务器/tmp目录下,并赋予Shell脚本可执行权限,然后输入命令执行安装:
安装过程如下图,几乎瞬间完成
启动MongoDB并查看MongoDB状态
启动命令:systemctl start mongodb.service
查看状态:systemctl statusmongodb.service
停止命令:systemctl stop mongodb.service
看到这里大家肯定对Shell脚本感到好奇,下面为大家介绍Shell脚本,安装的核心Shell代码如下:
###开始安装
CURRENT_DIR=`pwd`
/bin/cp mongodb-linux-x86_64-amazon-3.4.5.tgz /usr/local/
cd /usr/local/
###解压缩安装文件
tar -zxvf mongodb-linux-x86_64-amazon-3.4.5.tgz
###拷贝到mongodb安装目录
mv mongodb-linux-x86_64-amazon-3.4.5/* mongodb/
cd ${CURRENT_DIR}
##创建mongodb使用到的文件夹
mkdir -p ${MONGODB_HOME}db
mkdir -p ${MONGODB_HOME}logs
mkdir -p ${MONGODB_HOME}conf
###拷贝配置文件
/bin/cp ${InputParamFile} ${MONGODB_HOME}conf/mongodb.conf
###赋予mongodb可执行权限
chmod a+x ${MONGODB_HOME}bin/*
###注册mongodb服务
touch ${MONGODB_SERVICE_PATH}
echo "[Unit]" >> ${MONGODB_SERVICE_PATH}
echo "Description=mongodb" >> ${MONGODB_SERVICE_PATH}
echo "After=network.target" >> ${MONGODB_SERVICE_PATH}
echo "" >> ${MONGODB_SERVICE_PATH}
echo "[Service] " >> ${MONGODB_SERVICE_PATH}
echo "Type=forking " >> ${MONGODB_SERVICE_PATH}
echo "ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf" >> ${MONGODB_SERVICE_PATH}
echo "ExecStop=/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval \"db.shutdownServer()\"" >> ${MONGODB_SERVICE_PATH}
echo "PrivateTmp=true" >> ${MONGODB_SERVICE_PATH}
echo "" >> ${MONGODB_SERVICE_PATH}
echo "[Install]" >> ${MONGODB_SERVICE_PATH}
echo "WantedBy=multi-user.target" >> ${MONGODB_SERVICE_PATH}
##修改了的unit文件,要通知systemd重载此配置文件
systemctl daemon-reload
##限制mongodb服务使用的内存
systemctl set-property mongodb.service MemoryLimit=8G
##设置成开机自启动
systemctl enable mongodb
安装使用的MongoDB配置文件如下,一般不需要修改可以直接使用此此配置文件安装
##数据文件存放目录
dbpath=/usr/local/mongodb/db
#日志文件存放目录文件
logpath=/usr/local/mongodb/logs/mongodb.log
#服务端口
port=27017
#以守护程序的方式启用,即在后台运行
fork=true
####limits the size of the WiredTiger internal cache 单位:GB,一般可以配置为服务器内存的一半
wiredTigerCacheSizeGB=5
#日志输出方式,使用追加的方式写日志
logappend=true
##日志滚动方式,命令行模式下执行:use admin db.runCommand( { logRotate : 1 } )
####Forcing a Log Rotation with SIGUSR1 kill -SIGUSR1 <mongod process id>
logRotate=reopen
#PID File的完整路径,如果没有设置,则没有PID文件
pidfilepath=/usr/local/mongodb/mongo.pid
#关闭http接口,默认关闭27108端口访问
#nohttpinterface=true
#声明这是一个集群的分片,默认端口27018
shardsvr=true
#设置每个数据库将被保存在一个单独的目录
#directoryperdb=true
#开启认证
#auth=true
#设置开启简单的rest API,设置后打开28017网页端口
rest=true
看完以上的介绍,相信大家也明白了本文的核心,即将MongoDB的安装过程通过编写Shell脚本实现。其实不止MongoDB,其他各种部件的安装均可以通过编写Shell脚本实现,希望这篇文章对大家有所启发,后续我们会带来更多MongoDB的知识。需要获得这篇文章中MongoDB安装包的同学可以关注我们的微信公众号,回复“MongoDB”获取MongoDB包的下载地址。