rocketmq开机启动脚本
环境
CentOS 6.6 X86_64
Rocketmq 3.2.6
启动脚本
cd $ROCKETMQ_HOME/bin
vim mqStart.sh 内容如下:
#!/bin/sh
#change current work directory to pwd
cd `dirname $0`
#
# Name Server
#
#nohup sh mqnamesrv > ns.log 2>&1 &
sh mqnamesrv
#
# Service Addr
#
ADDR=`hostname -i`:9876
#
# Broker
#
nohup sh mqbroker -n ${ADDR} > bk.log 2>&1 &
echo "Start Name Server and Broker Successfully, ${ADDR}"
说明:
跟原版的play.sh相比,增加一句cd dirname $0
切换shell脚本目录。
如果使用配置文件启动,请修改倒数第二行,增加了-c broker.p参数
nohup sh mqbroker -c broker.p -n ${ADDR} > bk.log 2>&1 &
如果获取broker.p文件,参考rocketmq安装
开机自启动
添加以下内容到/etc/rc.local文件中
su - rocketmq -c 'cd && /home/rocketmq/alibaba-rocketmq/bin/mqStart.sh'
说明:
主要是su切换用户执行命令,先用cd进到主目录,这样环境变量生效。
停止脚本
cd $ROCKETMQ_HOME/bin
vim mqStop.sh 内容如下:
#!/bin/sh
#change current work directory to pwd
cd `dirname $0`
sh mqshutdown broker
sh mqshutdown namesrv
echo "Please wait process to exit! check it type jps"
其他
所涉及的相关参数,rocketmq主目录请根据实际情况自行调整。