以守护进程方式,开机自启动Mongodb服务

1. 编辑mongodb的配置文件:

修改/opt/mongo/bin/mongodb.conf配置文件,在/etc/init.d中编写自启动脚本时,需要让mongodb按照配置文件来启动和关闭:

 /*数据存放目录*/
 dbpath=/opt/mongo/data/db   
 /*指定日志文件,该文件将保存所有的日志记录、诊断信息*/
 logpath=/opt/mongo/log/mongodb.log   
 /*进程ID,没有指定则启动时候就没有PID文件*/
 pidfilepath=/opt/mongo/db.pid   
//设置为true,修改数据目录存储模式,每个数据库的文件存储在DBPATH指定目录的不同的文件夹中。
//使用此选项,可以配置的MongoDB将数据存储在不同的磁盘设备上,以提高写入吞吐量或磁盘容量。
 directoryperdb=true    
//写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。
 logappend=true
//绑定地址
 bind_ip= localhost
 /*端口。默认27017*/
 port=27017   
//是否后台运行,设置为true  启动进程在后台运行的守护进程模式。
 fork=true
//来禁用预分配的数据文件,会缩短启动时间,但在正常操作过程中,可能会导致性能显著下降。
 noprealloc=true
 //设置为true,使用较小的默认数据文件大小。smallfiles减少数据文件的初始大小,并限制他们到512M,也减少了日志文件的大小,
//并限制他们到128M。如果数据库很大,各持有少量的数据,会导致mongodb创建很多文件,会影响性能。
 smallfiles=true

2. 创建mongodb服务脚本

文件夹/etc/init.d/是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。

  • /etc/init.d/中创建mongodb服务脚本文件,编辑内容如下:
#!/bin/bash
 #
 #chkconfig: 2345 80 90
 #description: mongodb

 start() {
  /opt/mongo/bin/mongod --config /opt/mongo/bin/mongodb.conf
 }

 stop() {
   /opt/mongo/bin/mongod --config /opt/mongo/bin/mongodb.conf --shutdown
 }
case "$1" in
   start)
  start
  ;;

 stop)
  stop
  ;;

 restart)
  stop
  start
  ;;
   *)
  echo 
 $"Usage: $0 {start|stop|restart}"
  exit 1
 esac

上面脚本,是让mongodb脚本服务,可以通过service mongodb start来实现mongod服务按照配置文件启动;通过service mongodb stop来实现mongod服务按照配置文件停止;还有service mongodb restart实现mongod服务重启。

  • 增加服务并开机启动:
chmod +x /etc/init.d/mongodb
chkconfig --add mongodb
chkconfig --level 345 mongodb on
chkconfig --list mongodb
service mongodb start

以后启动和重启mongdb服务,都是通Linux守护进程开启的,关闭命令窗口也不会停止服务。

你可能感兴趣的:(以守护进程方式,开机自启动Mongodb服务)