rabbitmq 安装
准备工作
mkdir -p /xa-rdmp/program/rabbitmq
mkdir -p /xa-rdmp/program/erlang
mkdir -p /xa-rdmp/user/data/rabbitmq/etc/rabbitmq/rabbitmq
mkdir -p /xa-rdmp/user/data/rabbitmq/var/log/rabbitmq
mkdir -p /xa-rdmp/user/data/rabbitmq/var/lib/rabbitmq/mnesia
cd /xa-rdmp/temp
下载 erlang 源代包
wget -O /xa-rdmp/temp/otp_src_21.1.tar.gz http://erlang.org/download/otp_src_21.1.tar.gz
解压 erlang 源代包
tar xzvf /xa-rdmp/temp/otp_src_21.1.tar.gz -C /xa-rdmp/temp
安装 erlang
yum -y install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf git
cd /xa-rdmp/temp/otp_src_21.1
./otp_build autoconf
./configure --prefix=/xa-rdmp/program/erlang -with-ssl -enable-rhreads -enable-smp-support -enable-kernel-poll -enable-hipe -without-javac
make && make install
下载 rabbitmq 二进制包
wget -O /xa-rdmp/temp/rabbitmq-server-generic-unix-3.6.15.tar.xz http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
解压
cd /xa-rdmp/temp
yum -y install xz
xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
mv /xa-rdmp/temp/rabbitmq_server-3.6.15/ /xa-rdmp/program/rabbitmq
修改 /xa-rdmp/program/rabbitmq/sbin/rabbitmq-defaults 内容为如下
#!/bin/sh -e
## The contents of this file are subject to the Mozilla Public License
## Version 1.1 (the "License"); you may not use this file except in
## compliance with the License. You may obtain a copy of the License
## at http://www.mozilla.org/MPL/
##
## Software distributed under the License is distributed on an "AS IS"
## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
## the License for the specific language governing rights and
## limitations under the License.
##
## The Original Code is RabbitMQ.
##
## The Initial Developer of the Original Code is GoPivotal, Inc.
## Copyright (c) 2012-2015 Pivotal Software, Inc. All rights reserved.
##
export HOME=/xa-rdmp/program/rabbitmq/
### next line potentially updated in package install steps
SYS_PREFIX=${RABBITMQ_HOME}
### next line will be updated when generating a standalone release
ERL_DIR=/xa-rdmp/program/erlang/bin/
CLEAN_BOOT_FILE=start_clean
SASL_BOOT_FILE=start_sasl
if [ -f "${RABBITMQ_HOME}/erlang.mk" ]; then
# RabbitMQ is executed from its source directory. The plugins
# directory and ERL_LIBS are tuned based on this.
RABBITMQ_DEV_ENV=1
fi
## Set default values
BOOT_MODULE="rabbit"
CONFIG_FILE=/xa-rdmp/user/data/rabbitmq/etc/rabbitmq/rabbitmq
LOG_BASE=/xa-rdmp/user/data/rabbitmq/var/log/rabbitmq
MNESIA_BASE=/xa-rdmp/user/data/rabbitmq/var/lib/rabbitmq/mnesia
ENABLED_PLUGINS_FILE=${SYS_PREFIX}/etc/rabbitmq/enabled_plugins
PLUGINS_DIR="${RABBITMQ_HOME}/plugins"
# RABBIT_HOME can contain a version number, so default plugins
# directory can be hard to find if we want to package some plugin
# separately. When RABBITMQ_HOME points to a standard location where
# it's usually being installed by package managers, we add
# "/usr/lib/rabbitmq/plugins" to plugin search path.
case "$RABBITMQ_HOME" in
/usr/lib/rabbitmq/*)
PLUGINS_DIR="/usr/lib/rabbitmq/plugins:$PLUGINS_DIR"
;;
esac
CONF_ENV_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq-env.conf
/xa-rdmp/program/rabbitmq/sbin/rabbitmq-server start
配置帐号
/xa-rdmp/program/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management
sleep 5
/xa-rdmp/program/rabbitmq/sbin/rabbitmqctl change_password guest guest.123
sleep 5
/xa-rdmp/program/rabbitmq/sbin/rabbitmqctl add_user cardone cardone.123
sleep 5
/xa-rdmp/program/rabbitmq/sbin/rabbitmqctl set_user_tags cardone administrator
sleep 5
/xa-rdmp/program/rabbitmq/sbin/rabbitmqctl add_vhost cardone
sleep 5
/xa-rdmp/program/rabbitmq/sbin/rabbitmqctl set_permissions -p cardone cardone ".*" ".*" ".*"
把以下内容 存入 /usr/lib/systemd/system/rabbitmq-server.service
[Unit]
Description=RabbitMQ broker
After=syslog.target network.target
[Service]
Type=notify
NotifyAccess=all
TimeoutStartSec=3600
# The following setting will automatically restart RabbitMQ
# in the event of a failure. systemd service restarts are not a
# replacement for service monitoring. Please see
# http://www.rabbitmq.com/monitoring.html
Restart=on-failure
RestartSec=10
WorkingDirectory=/xa-rdmp/program/rabbitmq/var/lib/rabbitmq
ExecStart=/xa-rdmp/program/rabbitmq/sbin/rabbitmq-server
ExecStop=/xa-rdmp/program/rabbitmq/sbin/rabbitmqctl stop
ExecStop=/bin/sh -c "while ps -p $MAINPID >/dev/null 2>&1; do sleep 1; done"
# See rabbitmq/rabbitmq-server-release#51
SuccessExitStatus=69
[Install]
WantedBy=multi-user.target
修改权限并设置为自启动
chmod u+x /usr/lib/systemd/system/rabbitmq-server.service
systemctl enable rabbitmq-server.service