linux设置rocketmq自启动

linux 查看服务是否自启动用命令

chkconfig  –list

因为rocketmq不是linux内置的服务,所以需要建立脚本,让linux识别为自身服务。

建立脚本的位置就在/etc/init.d/ 目录下

先在任意目录创建rocketmq.sh文件

文件内容为:

!/usr/bin/env bash
script starts and stops the rocketmq daemon
#
chkconfig: - 85 15
export JAVA_HOME=/home/install/jdk
ROCKETMQ_HOME=/home/install/rocketmq
ROCKETMQ_BIN=${ROCKETMQ_HOME}/bin
ADDR=hostname -i:9876
LOG_DIR=${ROCKETMQ_HOME}/logs
NAMESERVER_LOG=${LOG_DIR}/namesrv.log
BROKER_LOG=${LOG_DIR}/broker.log
start() {
if [ ! -d ${LOG_DIR} ];then
mkdir ${LOG_DIR}
fi
cd ${ROCKETMQ_HOME}
nohup sh bin/mqnamesrv > ${NAMESERVER_LOG} 2>&1 &
echo -n "The Name Server boot success…"
nohup sh bin/mqbroker -n ${ADDR} > ${BROKER_LOG} 2>&1 &
echo -n "The broker[%s, ${ADDR}] boot success…"
}
stop() {
cd ${ROCKETMQ_HOME}
sh bin/mqshutdown broker
sleep 1
sh bin/mqshutdown namesrv
}
restart() {
stop
sleep 5
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac

JAVA_HOME和ROCKETMQ_HOME根据你的安装目录设置,jdk设置参考文章 jdk设置

设置文件为可执行

chmod a+x rocketmq.sh

拷贝到 /etc/init.d/目录下

sudo mv rocketmq.sh /etc/init.d/rocketmq

添加到服务

chkconfig –add rocketmq

把服务设置为开机自启动


chkconfig rocketmq on

在看看服务是否已经设置好

chkconfig  –list

服务启动 service rocketmq start

服务关闭 service rocketmq stop

服务重启 service rocketmq restart