新建可执行文件rabbitmq
chmod 777 文件名 加执行权限的话是chmod +x 文件名
/etc/init.d/rabbitmq
注意要修改的地方
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/erlang/bin
DAEMON=/home/temp/rabbitmq/sbin/${NAME}
CONTROL=/home/temp/rabbitmq/sbin/rabbitmqctl

1 #!/bin/sh 2 # 3 # rabbitmq-server RabbitMQ broker 4 # 5 # chkconfig: 2346 80 05 6 # description: Enable AMQP service provided by RabbitMQ 7 # 8 ### BEGIN INIT INFO 9 # Provides: rabbitmq-server 10 # Required-Start: $remote_fs $network 11 # Required-Stop: $remote_fs $network 12 # Description: RabbitMQ broker 13 # Short-Description: Enable AMQP service provided by RabbitMQ broker 14 ### END INIT INFO 15 # Source function library. 16 . /etc/init.d/functions 17 export HOME=/root 18 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/erlang/bin 19 NAME=rabbitmq-server 20 #DAEMON=/usr/sbin/${NAME} 21 #CONTROL=/usr/sbin/rabbitmqctl 22 DAEMON=/home/temp/rabbitmq/sbin/${NAME} 23 CONTROL=/home/temp/rabbitmq/sbin/rabbitmqctl 24 DESC=rabbitmq-server 25 USER=root 26 ROTATE_SUFFIX= 27 INIT_LOG_DIR=/var/log/rabbitmq 28 PID_FILE=/var/run/rabbitmq/pid 29 START_PROG="daemon" 30 LOCK_FILE=/var/lock/subsys/$NAME 31 test -x $DAEMON || exit 0 32 test -x $CONTROL || exit 0 33 RETVAL=0 34 set -e 35 [ -f /etc/default/${NAME} ] && . /etc/default/${NAME} 36 ensure_pid_dir () { 37 PID_DIR=`dirname ${PID_FILE}` 38 if [ ! -d ${PID_DIR} ] ; then 39 mkdir -p ${PID_DIR} 40 chown -R ${USER}:${USER} ${PID_DIR} 41 chmod 755 ${PID_DIR} 42 fi 43 } 44 remove_pid () { 45 rm -f ${PID_FILE} 46 rmdir `dirname ${PID_FILE}` || : 47 } 48 start_rabbitmq () { 49 status_rabbitmq quiet 50 if [ $RETVAL = 0 ] ; then 51 echo RabbitMQ is currently running 52 else 53 RETVAL=0 54 ensure_pid_dir 55 set +e 56 RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON 57 > "${INIT_LOG_DIR}/startup_log" 58 2> "${INIT_LOG_DIR}/startup_err" 59 0<&- & 60 $CONTROL wait $PID_FILE >/dev/null 2>&1 61 RETVAL=$? 62 set -e 63 case "$RETVAL" in 64 0) 65 echo SUCCESS 66 if [ -n "$LOCK_FILE" ] ; then 67 touch $LOCK_FILE 68 fi 69 ;; 70 *) 71 remove_pid 72 echo FAILED - check ${INIT_LOG_DIR}/startup_{log, _err} 73 RETVAL=1 74 ;; 75 esac 76 fi 77 } 78 stop_rabbitmq () { 79 status_rabbitmq quiet 80 if [ $RETVAL = 0 ] ; then 81 set +e 82 $CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err 83 RETVAL=$? 84 set -e 85 if [ $RETVAL = 0 ] ; then 86 remove_pid 87 if [ -n "$LOCK_FILE" ] ; then 88 rm -f $LOCK_FILE 89 fi 90 else 91 echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err 92 fi 93 else 94 echo RabbitMQ is not running 95 RETVAL=0 96 fi 97 } 98 status_rabbitmq() { 99 set +e 100 if [ "$1" != "quiet" ] ; then 101 $CONTROL status 2>&1 102 else 103 $CONTROL status > /dev/null 2>&1 104 fi 105 if [ $? != 0 ] ; then 106 RETVAL=3 107 fi 108 set -e 109 } 110 rotate_logs_rabbitmq() { 111 set +e 112 $CONTROL rotate_logs ${ROTATE_SUFFIX} 113 if [ $? != 0 ] ; then 114 RETVAL=1 115 fi 116 set -e 117 } 118 restart_running_rabbitmq () { 119 status_rabbitmq quiet 120 if [ $RETVAL = 0 ] ; then 121 restart_rabbitmq 122 else 123 echo RabbitMQ is not runnning 124 RETVAL=0 125 fi 126 } 127 restart_rabbitmq() { 128 stop_rabbitmq 129 start_rabbitmq 130 } 131 case "$1" in 132 start) 133 echo -n "Starting $DESC: " 134 start_rabbitmq 135 echo "$NAME." 136 ;; 137 stop) 138 echo -n "Stopping $DESC: " 139 stop_rabbitmq 140 echo "$NAME." 141 ;; 142 status) 143 status_rabbitmq 144 ;; 145 rotate-logs) 146 echo -n "Rotating log files for $DESC: " 147 rotate_logs_rabbitmq 148 ;; 149 force-reload|reload|restart) 150 echo -n "Restarting $DESC: " 151 restart_rabbitmq 152 echo "$NAME." 153 ;; 154 try-restart) 155 echo -n "Restarting $DESC: " 156 restart_running_rabbitmq 157 echo "$NAME." 158 ;; 159 *) 160 echo "Usage: $0 {start|stop|status| 161 rotate-logs|restart|condrestart| 162 try-restart|reload|force-reload}" >&2 163 RETVAL=1 164 ;; 165 esac 166 exit $RETVAL
---------结束-------------
创建服务
chkconfig --add rabbitmq
设置自启
chkconfig rabbitmq on
启动测试service rabbitmq start