配置文件
mkdir /data/mongopush/{log,data,conf,scripts,tmp}
systemLog:
destination: file
logAppend: true
logRotate: reopen
path: /data/mongopush/log/mongodb.log
storage:
dbPath: /data/mongopush/data
journal:
enabled: true
directoryPerDB: true
syncPeriodSecs: 60
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 88
journalCompressor: snappy
directoryForIndexes: true
collectionConfig:
blockCompressor: snappy
indexConfig:
prefixCompression: true
operationProfiling:
slowOpThresholdMs: 50
mode: "all"
processManagement:
fork: true
pidFilePath: /data/mongopush/tmp/mongodb.pid
net:
port: 27017
bindIp: 0.0.0.0
maxIncomingConnections: 18500
security:
authorization: enabled
#replication:
# replSetName: picturebook
# oplogSizeMB: 50240
# secondaryIndexPrefetch: all
setParameter:
enableLocalhostAuthBypass: true
replWriterThreadCount: 32
wiredTigerConcurrentReadTransactions: 1000
wiredTigerConcurrentWriteTransactions: 1000
启动脚本
#!/bin/bash
#
# Explain: MongoDB start、stop scripts
#
# Define variables
RETVAL=0
MonPort="push"
MonConf="/data/mongo${MonPort}/conf/mongodb.conf"
MonCommPath="/usr/local/mongodb-linux-x86_64-3.4.20/bin"
# Define functions
start(){
MonStatusCheck="$(ps -ef |grep [mo]ngo${MonPort}|wc -l)"
if [ "$MonStatusCheck" -eq 0 ];then
$MonCommPath/mongod -f $MonConf >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ];then
echo "Start mongodb service[$MonPort] success"
else
echo "Start mongodb service[$MonPort] fail"
fi
else
echo "mongodb service[$MonPort] is running"
fi
return $RETVAL
}
stop(){
MonStatusCheck="$(ps -ef |grep [mo]ngo${MonPort}|wc -l)"
if [ "$MonStatusCheck" -ne 0 ];then
$MonCommPath/mongod --shutdown -f $MonConf >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ];then
echo "Stop mongodb service[$MonPort] success"
else
echo "Stop mongodb service[$MonPort] fail"
fi
else
echo "mongodb service[$MonPort] is not running"
fi
return $RETVAL
}
status(){
MonStatusCheck="$(ps -ef |grep [mo]ngo${MonPort}|wc -l)"
if [ "$MonStatusCheck" -ne 0 ];then
echo "mongodb service[$MonPort] is running"
else
echo "mongodb service[$MonPort] is not running"
fi
return $RETVAL
}
# case call define functiosn
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
stop
sleep 5
start
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo "USAGE:$0{start|stop|restart|status}"
exit 1
esac
system
[Unit]
Description=MongoDB Database Service
Wants=network.target
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb-linux-x86_64-3.4.20/bin/mongod -f /data/mongopush/conf/mongodb.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=20
[Install]
WantedBy=multi-user.target
标签:service,部署,mongodb,echo,实例,data,MonPort,RETVAL
From: https://www.cnblogs.com/leleyao/p/17983365