配置mongodb和redis开机自启
redis 开机自启设置
参考文章
操作方式
因为每次开机启动或者启动终端都要执行.bashrc 文件所以把启动命令加入到.bashrc 文件中当每次开机启动的时候或者启动终端的时候来判断redis 或者mongodb是否已经启动。未启动则执行启动命令
redis配置
Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
所以修改/etc 下的 redis.conf命令如下
cd ~
cd /etc
vim redis.conf
然后找到如下内容:
daemonize no
修改为:
daemonize yes
这样就可以作为后台进程来进行启动了
然后将redis启动命令添加到环境变量中
redis指定配置文件启动命令如下:
redis-server 配置文件路径
示例如下
redis-server /etc/redis.conf
将以上命令加入到.bashrc 文件中操作如下
cd ~
vim .bashrc
然后把redis 指定配置文件启动的命令加入到.bashrc 文件中保存然后执行如下命令
source .bashrc
自此完成redis开机自启功能
mongodb 开机自启设置
参考文章
因为mongodb同redis一样默认不是以守护进程启动的所以这里需要通过配置文件方式启动来使mongodb以守护进程方式启动
mongodb配置
-
先创建数据目录:
mkdir /data/mongo
-
然后创建配置文件
vi /data/mongo/mongodb.cnf
文件内容:
dbpath=/data/mongo/ # mongodb数据存放路径 logpath=/data/mongo/mongo.log # mongodb日志存放位置 logappend=true fork=true # 是否以后台方式运行 port=27017 # 端口号
-
将以上步骤完成后需要指定启动文件来启动mongodb命令如下:
mongodb -f 配置文件路径mongodb -f /data/mongo/mongodb.cnf
-
开机自启所以需要将mongodb指定配置文件启动的命令加入到.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 中只添加此句命令的话会每次开启终端都会执行,这样在已经启动mongo的情况下会看到终端报错说mongod已经启动,虽不影响使用,但是影响心情所以加了判断```count=`ps -ef | grep "mongod" |grep -v 'grep' | wc -l```` 用来判断mongod是否已经启动。若启动则 count不为0 即第二行的判断然后判断是否要执行相应的mongod启动命令。
至此完成mongo 和redis开机自启的配置 -
.bashrc 文件中新添加的内容如下:
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
注意事项
- 以上内容中使用的路径可能与实际机器的路径不太一致,不能把代码复制粘贴即可,要根据实际路径把对应的内容替换掉
- shell 编程中很注意空格问题,所以粘贴上文提到的.bashrc 中的代码时要注意里边的空格
网友评论