首页 技术 正文
技术 2022年11月9日
0 收藏 538 点赞 3,437 浏览 3690 个字

环境

  系统:Linux(CentOS 7.2)

  Erlang环境:21.1(安装参考【Erlang】源码安装

  RabbitMQ:3.7.9(安装参考【RabbitMQ】 RabbitMQ安装

配置开机启动

  1、增加自启动脚本:

    在/etc/init.d目录下新建一个rabbitmq-server文件,内容如下:  

 #!/bin/sh
#
# rabbitmq-server RabbitMQ broker
#
# chkconfig: - 80 05
# description: Enable AMQP service provided by RabbitMQ
# ### BEGIN INIT INFO
# Provides: rabbitmq-server
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Description: RabbitMQ broker
# Short-Description: Enable AMQP service provided by RabbitMQ broker
### END INIT INFO # Source function library.
. /etc/init.d/functions
export HOME=/root
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=rabbitmq-server
#DAEMON=/usr/sbin/${NAME}
#CONTROL=/usr/sbin/rabbitmqctl
DAEMON=/server/rabbitmq/sbin/${NAME}
CONTROL=/server/rabbitmq/sbin/rabbitmqctl
DESC=rabbitmq-server
USER=root
ROTATE_SUFFIX=
INIT_LOG_DIR=/var/log/rabbitmq
PID_FILE=/var/run/rabbitmq/pid START_PROG="daemon"
LOCK_FILE=/var/lock/subsys/$NAME test -x $DAEMON || exit 0
test -x $CONTROL || exit 0 RETVAL=0
set -e [ -f /etc/default/${NAME} ] && . /etc/default/${NAME} ensure_pid_dir () {
PID_DIR=`dirname ${PID_FILE}`
if [ ! -d ${PID_DIR} ] ; then
mkdir -p ${PID_DIR}
chown -R ${USER}:${USER} ${PID_DIR}
chmod 755 ${PID_DIR}
fi
} remove_pid () {
rm -f ${PID_FILE}
rmdir `dirname ${PID_FILE}` || :
} start_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
echo RabbitMQ is currently running
else
RETVAL=0
ensure_pid_dir
set +e
RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON \
> "${INIT_LOG_DIR}/startup_log" \
2> "${INIT_LOG_DIR}/startup_err" \
0<&- &
$CONTROL wait $PID_FILE >/dev/null 2>&1
RETVAL=$?
set -e
case "$RETVAL" in
0)
echo SUCCESS
if [ -n "$LOCK_FILE" ] ; then
touch $LOCK_FILE
fi
;;
*)
remove_pid
echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
RETVAL=1
;;
esac
fi
} stop_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
set +e
$CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
RETVAL=$?
set -e
if [ $RETVAL = 0 ] ; then
remove_pid
if [ -n "$LOCK_FILE" ] ; then
rm -f $LOCK_FILE
fi
else
echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
fi
else
echo RabbitMQ is not running
RETVAL=0
fi
} status_rabbitmq() {
set +e
if [ "$1" != "quiet" ] ; then
$CONTROL status 2>&1
else
$CONTROL status > /dev/null 2>&1
fi
if [ $? != 0 ] ; then
RETVAL=3
fi
set -e
} rotate_logs_rabbitmq() {
set +e
$CONTROL rotate_logs ${ROTATE_SUFFIX}
if [ $? != 0 ] ; then
RETVAL=1
fi
set -e
} restart_running_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
restart_rabbitmq
else
echo RabbitMQ is not runnning
RETVAL=0
fi
} restart_rabbitmq() {
stop_rabbitmq
start_rabbitmq
} case "$1" in
start)
echo -n "Starting $DESC: "
start_rabbitmq
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
stop_rabbitmq
echo "$NAME."
;;
status)
status_rabbitmq
;;
rotate-logs)
echo -n "Rotating log files for $DESC: "
rotate_logs_rabbitmq
;;
force-reload|reload|restart)
echo -n "Restarting $DESC: "
restart_rabbitmq
echo "$NAME."
;;
try-restart)
echo -n "Restarting $DESC: "
restart_running_rabbitmq
echo "$NAME."
;;
*)
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
RETVAL=1
;;
esac exit $RETVAL  

  2、根据实际情况修改上面内容中

 # 增加了Erlang环境路径
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/data/soft/erlang_21.1/bin # 服务脚本
DAEMON=/server/rabbitmq/sbin/${NAME} CONTROL=/server/rabbitmq/sbin/rabbitmqctl DESC=rabbitmq-server USER=root # 日志目录
INIT_LOG_DIR=/data/soft/rabbitmq_server-3.7.9/var/log/rabbitmq # pid文件,查找命令命令:find / -name rabbit*.pid
PID_FILE=/data/soft/rabbitmq_server-3.7.9/var/lib/rabbitmq/mnesia/rabbit@H__D.pid

  3、设置执行权限,命令:chmod a+x /etc/init.d/rabbitmq-server

  4、添加开机启动项

    a、添加命令:chkconfig –add /etc/init.d/rabbitmq-server

    b、查看启动项,命令:chkconfig –list

      rabbitmq-server启动项状态:rabbitmq-server           0:off   1:off   2:off   3:off   4:off   5:off   6:off

    c、需要设置rabbitmq-server启动命令:chkconfig rabbitmq-server on

      rabbitmq-server启动项状态:rabbitmq-server           0:off   1:off   2:on    3:on    4:on    5:on    6:off

    d、关闭命令为:chkconfig rabbitmq-server off

    e、删除命令为:chkconfig –del rabbitmq-server

  5、执行命令reboot,重启服务器即可验证rabbitmq-server开机启动

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,117
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,589
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,435
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,206
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,842
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,927