配置mongodb和redis開(kāi)機(jī)自啟
redis 開(kāi)機(jī)自啟設(shè)置
參考文章
操作方式
因?yàn)槊看伍_(kāi)機(jī)啟動(dòng)或者啟動(dòng)終端都要執(zhí)行.bashrc 文件所以把啟動(dòng)命令加入到.bashrc 文件中當(dāng)每次開(kāi)機(jī)啟動(dòng)的時(shí)候或者啟動(dòng)終端的時(shí)候來(lái)判斷redis 或者mongodb是否已經(jīng)啟動(dòng)具滴。未啟動(dòng)則執(zhí)行啟動(dòng)命令
redis配置
Redis默認(rèn)不是以守護(hù)進(jìn)程的方式運(yùn)行寓调,可以通過(guò)該配置項(xiàng)修改帮非,使用yes啟用守護(hù)進(jìn)程
所以修改/etc 下的 redis.conf命令如下
cd ~
cd /etc
vim redis.conf
然后找到如下內(nèi)容:
daemonize no
修改為:
daemonize yes
這樣就可以作為后臺(tái)進(jìn)程來(lái)進(jìn)行啟動(dòng)了
然后將redis啟動(dòng)命令添加到環(huán)境變量中
redis指定配置文件啟動(dòng)命令如下:
redis-server 配置文件路徑
示例如下
redis-server /etc/redis.conf
將以上命令加入到.bashrc 文件中操作如下
cd ~
vim .bashrc
然后把redis 指定配置文件啟動(dòng)的命令加入到.bashrc 文件中保存然后執(zhí)行如下命令
source .bashrc
自此完成redis開(kāi)機(jī)自啟功能
mongodb 開(kāi)機(jī)自啟設(shè)置
參考文章
因?yàn)閙ongodb同redis一樣默認(rèn)不是以守護(hù)進(jìn)程啟動(dòng)的所以這里需要通過(guò)配置文件方式啟動(dòng)來(lái)使mongodb以守護(hù)進(jìn)程方式啟動(dòng)
mongodb配置
-
先創(chuàng)建數(shù)據(jù)目錄:
mkdir /data/mongo
-
然后創(chuàng)建配置文件
vi /data/mongo/mongodb.cnf
文件內(nèi)容:
dbpath=/data/mongo/ # mongodb數(shù)據(jù)存放路徑 logpath=/data/mongo/mongo.log # mongodb日志存放位置 logappend=true fork=true # 是否以后臺(tái)方式運(yùn)行 port=27017 # 端口號(hào)
-
將以上步驟完成后需要指定啟動(dòng)文件來(lái)啟動(dòng)mongodb命令如下:
mongodb -f 配置文件路徑mongodb -f /data/mongo/mongodb.cnf
-
開(kāi)機(jī)自啟所以需要將mongodb指定配置文件啟動(dòng)的命令加入到.bashrc 文件中如下:
count=`ps -ef | grep "mongod" |grep -v 'grep' | wc -l` if [ $count == 0 ]; then echo 'mongo is starting' mongod -f /data/mongo/mongodb.cnf; else echo 'mongo is running' fi
以上核心還是
mongod -f /data/mongo/mongodb.cnf
但是如果只在.bashrc 中只添加此句命令的話(huà)會(huì)每次開(kāi)啟終端都會(huì)執(zhí)行,這樣在已經(jīng)啟動(dòng)mongo的情況下會(huì)看到終端報(bào)錯(cuò)說(shuō)mongod已經(jīng)啟動(dòng),雖不影響使用骏庸,但是影響心情所以加了判斷```count=`ps -ef | grep "mongod" |grep -v 'grep' | wc -l```` 用來(lái)判斷mongod是否已經(jīng)啟動(dòng)。若啟動(dòng)則 count不為0 即第二行的判斷然后判斷是否要執(zhí)行相應(yīng)的mongod啟動(dòng)命令。
至此完成mongo 和redis開(kāi)機(jī)自啟的配置 -
.bashrc 文件中新添加的內(nèi)容如下:
redis-server /etc/redis.conf count=`ps -ef | grep "mongod" |grep -v 'grep' | wc -l` if [ $count == 0 ]; then echo 'mongo is starting' mongod -f /data/mongo/mongodb.cnf; else echo 'mongo is running' fi
注意事項(xiàng)
- 以上內(nèi)容中使用的路徑可能與實(shí)際機(jī)器的路徑不太一致盹兢,不能把代碼復(fù)制粘貼即可,要根據(jù)實(shí)際路徑把對(duì)應(yīng)的內(nèi)容替換掉
- shell 編程中很注意空格問(wèn)題守伸,所以粘貼上文提到的.bashrc 中的代碼時(shí)要注意里邊的空格