MongoDB安装了以后,应当设置开机自启动。

假设启动命令如下:

sudo /db/mongodb/265/bin/mongod --config /db/conf/mongodb/mongodb.conf

方法有二:

1、把这句话写到把 /etc/rc.local,即可开机启动。

第二种:

2、将一个脚本放到/etc/init.d/

比如,命名为/etc/init.d/mongodb,则执行以下步骤即可:

1)要给它们赋予执行权限:
chmod +x /etc/init.d/mongodb

2)接着试一下是否可以启动、停止:
service mongodb start
service mongodb stop

3)最后设为开机启动:
chkconfig mongodb on

这个脚本,有样例如下:

  1. #!/bin/bash
  2.  
  3. # mongod - Startup script for mongod
  4.  
  5. # chkconfig: 35 80 15
  6. # description: Mongo is a scalable, document-oriented database.
  7. # processname: mongod
  8. #config: /db/conf/mongodb/mongod.conf
  9. # pidfile: /var/run/mongo/mongo.pid
  10.  
  11. source /etc/rc.d/init.d/functions
  12.  
  13. # things from mongod.conf get there by mongod reading it
  14.  
  15. if [ $(id -u) != "0" ]; then
  16. echo "Permission Denied! Please use root to run again!"
  17. exit 1
  18. fi
  19.  
  20. test -d /var/run/mongodb || (mkdir -p /var/run/mongodb ; chown mongod:mongod /var/run/mongodb)
  21.  
  22. # NOTE: if you change any OPTIONS here, you get what you pay for:
  23. # this script assumes all options are in the config file.
  24. CONFIGFILE="/db/conf/mongodb/mongodb.conf"
  25. SYSCONFIG="/etc/sysconfig/mongod"
  26.  
  27. export PATH=$PATH:/db/mongodb/265/bin
  28.  
  29. DBPATH=`awk -F= '/^dbpath/{print $2}' "$CONFIGFILE"`
  30. OPTIONS=" --config $CONFIGFILE"
  31. mongod=${MONGOD-/db/mongodb/265/bin/mongod}
  32. echo "db path is: "$DBPATH
  33. echo $mongod
  34. MONGO_USER=leftfist
  35. MONGO_GROUP=leftfist
  36.  
  37. [ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
  38.  
  39. super() {
  40. su - $MONGO_USER -c "PATH=$PATH:/db/mongodb/265/bin; $*"
  41. }
  42.  
  43. start()
  44. {
  45. echo -n $"Starting mongod: "
  46. # daemon --user "$MONGO_USER" "numactl --interleave=all" $mongod $OPTIONS
  47. #daemon --user "$MONGO_USER" $mongod $OPTIONS
  48. #
  49. # su - $MONGO_USER -c "$mongod $OPTIONS" -m -p
  50. # su - $MONGO_USER
  51. $mongod $OPTIONS
  52. # super $mongod $OPTIONS
  53. echo $mongod$OPTIONS
  54. RETVAL=$?
  55. echo
  56. [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
  57. }
  58.  
  59. stop()
  60. {
  61. echo -n $"Stopping mongod: "
  62. killproc -p "$DBPATH"/mongod.lock -d 300 /db/mongodb/265/bin/mongod
  63. RETVAL=$?
  64. echo
  65. [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod
  66. }
  67.  
  68. restart () {
  69. stop
  70. start
  71. }
  72.  
  73. ulimit -n 12000
  74. RETVAL=0
  75.  
  76. case "$1" in
  77. start)
  78. start
  79. ;;
  80. stop)
  81. stop
  82. ;;
  83. restart|reload|force-reload)
  84. restart
  85. ;;
  86. condrestart)
  87. [ -f /var/lock/subsys/mongod ] && restart || :
  88. ;;
  89. status)
  90. status $mongod
  91. RETVAL=$?
  92. ;;
  93. *)
  94. echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
  95. RETVAL=1
  96. esac
  97.  
  98. exit $RETVAL

这种脚本,甚是难懂。据说是Shell。。。。并且它是怎么来的?不可能是由我们自己一句一句地码出来的吧?听说是安装应用系统的时候,由系统自己设置的。

但我的mongodb,是从官网上下载的二进制文件,解压以后就可以使用了,仅为了方便,配置了一下PATH而已,根本没有什么启动脚本。上面那个示例,是从其他地方抄过来,然后修改了一下,有效。

按照自己的理解,解释一下里面一些句子:

#配置文件

CONFIGFILE="/db/conf/mongodb/mongodb.conf"

#此为启动mongodb的参数(配置文件)。$CONFIGFILE的意思,应该就是将上面那一句代入其中

OPTIONS=" --config $CONFIGFILE"

#定义了mongod,但{}里的MONGOD就不知道是什么意思了,可能就是mongod命令?但为什么是大写?也许是环境变量?如果真是,那么中间那一横就是或者的意思了

#即在有PATH的条件下,直接是mongod命令,否则就是明确指示具体路径的mongod命令

mongod=${MONGOD-/db/mongodb/265/bin/mongod}

#账户,但在我的例子中,它们不起作用

MONGO_USER=leftfist
MONGO_GROUP=leftfist

#因为我是这样子启动mongoDB的:

#并没有指定由什么账户来运行。其实,启动脚本都由超级管理员来启动(?)

$mongod $OPTIONS

MongoDB 开机自启动的更多相关文章

  1. Linux上mongodb开机自启动

    1.下载MongoDB 2.安装MongoDB(安装到/usr/local下) .tgz mongodb cd mongodb mkdir db mkdir logs cd bin vi mongod ...

  2. Linux将进程写入开机自启动

    只需将启动的命令写入/etc/rc.local 如让mongodb开机自启动: echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local ...

  3. ubuntu 18.04 安装mongodb并设为开机自启动

    导入包管理系统使用的公钥 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB4 ...

  4. CentOS开机自启动

    CentOS 配置的开机自启动. vim /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other ...

  5. Linux下的应用程序开机自启动

    Linux下的应用程序开机自启动,目前我知道的有2种: 1.将启动语句写到/etc/rc.local 2.在init.d放置启动脚本 第一种,很简单,直接写进去就行,比如说: /db/mongodb/ ...

  6. centos 7 安装Telnet并设为开机自启动、开防火墙端口

    [root@b ~]# rpm -qa | grep telnettelnet-0.17-64.el7.x86_64telnet-server-0.17-64.el7.x86_64[root@b ~] ...

  7. apache 开机自启动脚本设置

    默认我们源码编译安装apache,是不能使用service这个命令来启动的,通常我们启动的命令是: [root@localhost httpd-2.2.16]# /usr/local/apache2/ ...

  8. VC++ 设置软件开机自启动的方法

    0  概述 软件开机自启动是比较常用的做法,设置方法也有好几种. 1  使用者模式 在"开始菜单"的所有程序中有个"启动"文件夹,可以将需要设置为开机启动的应用 ...

  9. linux下 nginx、php-fpm、mysql 开机自启动

    1.分别为每个编写shell脚本放入/etc/init.d下,添加service服务 2.把每个service服务加入到chkconfig列表 这里我们以php-fpm为例说明下步骤: php-fpm ...

随机推荐

  1. 后台接收不到postman发送的xml参数的解决办法

    首先在body下复制需要传的xml: 然后点击url右边的Params,添加key和value.value和body下的xml是一样的: 最后点击send,后台就能接收到参数了.

  2. bootstrap datatable 数据刷新问题

    在项目中,页面初始化的时候,通过通过向后台请求数据,页面初始化完之后,datatable是有数据的,当我点击页面的搜索按钮(按照时间过滤数据),datatable的数据要能重新刷新或者重载:这一点,我 ...

  3. POJ_1062_(dijkstra)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 48126   Accepted: 14343 Descripti ...

  4. Jmeter之重定向请求

    一.自动重定向和跟随重定向的区别 自动重定向:状态码一般是200.20X.当重定向自动跳转时,只针对GET和Head请求,自动重定向自动跳转到最终目标页面,当HTTP请求为自动重定向时,JMeter不 ...

  5. UEditer的使用

    1.首先到官网下载http://ueditor.baidu.com/website/download.html#ueditor 2.然后把解压后的文件复制到项目中(放在UEditer中),如图 3.在 ...

  6. Nuxt.js使用详解

    首先来讲一下服务端渲染 直白的说就是在服务端拿数据进行解析渲染,直接生成html片段返回给前端.具体用法也有很多种比如: 传统的服务端模板引擎渲染整个页面 服务渲染生成htmll代码块, 前端 AJA ...

  7. ThinkPHP---TP功能类之公文管理功能2----------继续完善

    [前言] 之前已经完成了公文的添加和列表展示功能,今天继续完善.做下公文的编辑和删除功能. [主体] (1)分析 控制器:DocController.class.php 方法:edit(将模板展示和数 ...

  8. ViewData丶ViewBag和TempData

    案例: public ActionResult Index() { ViewData[; ViewData.Add(); ViewBag.myNum = ; TempData[; Student st ...

  9. linux mysql设置远程访问

    >mysql -u root -p 选择进入mysql数据库use `mysql`; 查看所有存在的账号和地址.SELECT `Host`,`User` FROM `user`; 现在决定让ro ...

  10. Window下的———TOMCAT环境的配置

    1. 先去官方网站下载需要的猫(tomcat) http://tomcat.apache.org/ 2.下载好包,然后解压出来,放在你需要的位置上 3.去到配环境变量的地方,进行相应的环境配置     ...