MongoDB 开机自启动
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
这个脚本,有样例如下:
- #!/bin/bash
- # mongod - Startup script for mongod
- # chkconfig: 35 80 15
- # description: Mongo is a scalable, document-oriented database.
- # processname: mongod
- #config: /db/conf/mongodb/mongod.conf
- # pidfile: /var/run/mongo/mongo.pid
- source /etc/rc.d/init.d/functions
- # things from mongod.conf get there by mongod reading it
- if [ $(id -u) != "0" ]; then
- echo "Permission Denied! Please use root to run again!"
- exit 1
- fi
- test -d /var/run/mongodb || (mkdir -p /var/run/mongodb ; chown mongod:mongod /var/run/mongodb)
- # NOTE: if you change any OPTIONS here, you get what you pay for:
- # this script assumes all options are in the config file.
- CONFIGFILE="/db/conf/mongodb/mongodb.conf"
- SYSCONFIG="/etc/sysconfig/mongod"
- export PATH=$PATH:/db/mongodb/265/bin
- DBPATH=`awk -F= '/^dbpath/{print $2}' "$CONFIGFILE"`
- OPTIONS=" --config $CONFIGFILE"
- mongod=${MONGOD-/db/mongodb/265/bin/mongod}
- echo "db path is: "$DBPATH
- echo $mongod
- MONGO_USER=leftfist
- MONGO_GROUP=leftfist
- [ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
- super() {
- su - $MONGO_USER -c "PATH=$PATH:/db/mongodb/265/bin; $*"
- }
- start()
- {
- echo -n $"Starting mongod: "
- # daemon --user "$MONGO_USER" "numactl --interleave=all" $mongod $OPTIONS
- #daemon --user "$MONGO_USER" $mongod $OPTIONS
- #
- # su - $MONGO_USER -c "$mongod $OPTIONS" -m -p
- # su - $MONGO_USER
- $mongod $OPTIONS
- # super $mongod $OPTIONS
- echo $mongod$OPTIONS
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
- }
- stop()
- {
- echo -n $"Stopping mongod: "
- killproc -p "$DBPATH"/mongod.lock -d 300 /db/mongodb/265/bin/mongod
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod
- }
- restart () {
- stop
- start
- }
- ulimit -n 12000
- RETVAL=0
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart|reload|force-reload)
- restart
- ;;
- condrestart)
- [ -f /var/lock/subsys/mongod ] && restart || :
- ;;
- status)
- status $mongod
- RETVAL=$?
- ;;
- *)
- echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
- RETVAL=1
- esac
- 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 开机自启动的更多相关文章
- Linux上mongodb开机自启动
1.下载MongoDB 2.安装MongoDB(安装到/usr/local下) .tgz mongodb cd mongodb mkdir db mkdir logs cd bin vi mongod ...
- Linux将进程写入开机自启动
只需将启动的命令写入/etc/rc.local 如让mongodb开机自启动: echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local ...
- ubuntu 18.04 安装mongodb并设为开机自启动
导入包管理系统使用的公钥 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB4 ...
- CentOS开机自启动
CentOS 配置的开机自启动. vim /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other ...
- Linux下的应用程序开机自启动
Linux下的应用程序开机自启动,目前我知道的有2种: 1.将启动语句写到/etc/rc.local 2.在init.d放置启动脚本 第一种,很简单,直接写进去就行,比如说: /db/mongodb/ ...
- centos 7 安装Telnet并设为开机自启动、开防火墙端口
[root@b ~]# rpm -qa | grep telnettelnet-0.17-64.el7.x86_64telnet-server-0.17-64.el7.x86_64[root@b ~] ...
- apache 开机自启动脚本设置
默认我们源码编译安装apache,是不能使用service这个命令来启动的,通常我们启动的命令是: [root@localhost httpd-2.2.16]# /usr/local/apache2/ ...
- VC++ 设置软件开机自启动的方法
0 概述 软件开机自启动是比较常用的做法,设置方法也有好几种. 1 使用者模式 在"开始菜单"的所有程序中有个"启动"文件夹,可以将需要设置为开机启动的应用 ...
- linux下 nginx、php-fpm、mysql 开机自启动
1.分别为每个编写shell脚本放入/etc/init.d下,添加service服务 2.把每个service服务加入到chkconfig列表 这里我们以php-fpm为例说明下步骤: php-fpm ...
随机推荐
- 后台接收不到postman发送的xml参数的解决办法
首先在body下复制需要传的xml: 然后点击url右边的Params,添加key和value.value和body下的xml是一样的: 最后点击send,后台就能接收到参数了.
- bootstrap datatable 数据刷新问题
在项目中,页面初始化的时候,通过通过向后台请求数据,页面初始化完之后,datatable是有数据的,当我点击页面的搜索按钮(按照时间过滤数据),datatable的数据要能重新刷新或者重载:这一点,我 ...
- POJ_1062_(dijkstra)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 48126 Accepted: 14343 Descripti ...
- Jmeter之重定向请求
一.自动重定向和跟随重定向的区别 自动重定向:状态码一般是200.20X.当重定向自动跳转时,只针对GET和Head请求,自动重定向自动跳转到最终目标页面,当HTTP请求为自动重定向时,JMeter不 ...
- UEditer的使用
1.首先到官网下载http://ueditor.baidu.com/website/download.html#ueditor 2.然后把解压后的文件复制到项目中(放在UEditer中),如图 3.在 ...
- Nuxt.js使用详解
首先来讲一下服务端渲染 直白的说就是在服务端拿数据进行解析渲染,直接生成html片段返回给前端.具体用法也有很多种比如: 传统的服务端模板引擎渲染整个页面 服务渲染生成htmll代码块, 前端 AJA ...
- ThinkPHP---TP功能类之公文管理功能2----------继续完善
[前言] 之前已经完成了公文的添加和列表展示功能,今天继续完善.做下公文的编辑和删除功能. [主体] (1)分析 控制器:DocController.class.php 方法:edit(将模板展示和数 ...
- ViewData丶ViewBag和TempData
案例: public ActionResult Index() { ViewData[; ViewData.Add(); ViewBag.myNum = ; TempData[; Student st ...
- linux mysql设置远程访问
>mysql -u root -p 选择进入mysql数据库use `mysql`; 查看所有存在的账号和地址.SELECT `Host`,`User` FROM `user`; 现在决定让ro ...
- Window下的———TOMCAT环境的配置
1. 先去官方网站下载需要的猫(tomcat) http://tomcat.apache.org/ 2.下载好包,然后解压出来,放在你需要的位置上 3.去到配环境变量的地方,进行相应的环境配置 ...