1、版本
1)rabbitMQ:通⽤用UNIX版本( rabbitmq-server-generic-unix-3.8.1.tar.xz )
2)OTP: otp_src_21.3.tar.gz
3)socat:socat-1.7.2.4-1.el7.rf.x86_64.rpm
2、安装装Erlang
1)、编译和安装Erlang的必要依赖
sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-
devel autoconf java-1.8.0-openjdk-devel git
2)、下载安装erlang源码包(21.3)
tar -zvxf otp_src_21.3.tar.gz
cd otp_src_21.3
#编译&安装
./otp_build autoconf
./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --
enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
make && make install
#默认安装在/usr/local/lib/erlang/目录下
提示如下错误时:
otp_src_21.3/make/x86_64-unknown-linux-gnu/otp_ded.mk: 没有那个文件或目录
需要安装ncurses-devel
[root@bogon liuzhen]# tar -zxvf ncurses-6.2.tar.gz
[root@bogon liuzhen]# cd ncurses-6.0
[root@bogon liuzhen]# ./configure --with-shared --without-debug --without-
ada --enable-overwrite
[root@bogon liuzhen]# make
[root@bogon liuzhen]# make install
3)、验证erl是否安装成功
# erl
1> ssl:versions().
2> halt().
3、安装rabbitMQ
1、 解压 rabbitmq-server-generic-unix-3.8.1.tar 并将⽂文件夹内容
拷⻉贝到 /home/rabbit3.8.1 下⾯面
2、添加到环境变量量
export PATH=$PATH:/home/rabbit3.8.1/sbin
source /etc/profile
1)、如果在启动 rabbitmq-server 时报如下错,则需要安装 OpenSSL
2018-01-03 06:16:32.494 [info] <0.33.0> Application lager started on node
rabbit@ubuntu
2018-01-03 06:16:32.507 [info] <0.5.0> Log file opened with Lager
2018-01-03 06:16:33.438 [error] <0.5.0>
Error description:
init:do_boot/3
init:start_em/1
rabbit:start_it/1 line 454
rabbit:broker_start/0 line 330
rabbit_plugins:prepare_plugins/1 line 289
rabbit_plugins:ensure_dependencies/1 line 263
throw:{error,{missing_dependencies,[crypto,ssl],
[amqp10_client,cowboy,cowlib,rabbitmq_aws,
rabbitmq_management,
rabbitmq_management_agent,rabbitmq_shovel,
rabbitmq_trust_store]}}
Log file(s) (may contain more information):
/home/zhangcs/rabbitmq_server-3.7.2/var/log/rabbitmq/rabbit@ubuntu.log
/home/zhangcs/rabbitmq_server-
3.7.2/var/log/rabbitmq/rabbit@ubuntu_upgrade.log
2)、在Centos7上编译安装openssl后,运⾏行行 openssl version 出现如下错误:
openssl: error while loading shared libraries: libssl.so.1.1: cannot open
shared object file: No such file or directory
这是由于openssl库的位置不不正确造成的。 解决⽅方法:
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
3、开机⾃自启动
在 /etc/init.d ⽬目录下新建⼀一个 rabbitmq ⽂文件,编辑该⽂文件,内容为:
#!/bin/bash
# chkconfig: 2345 80 05
# description: rabbitmq
# processname: rabbitmq
cd $RABBIT_HOME/sbin
cd $RABBIT_HOME/sbin
rabbitmq-server
if [ $# -lt 1 ];then
echo "请输入参数"
exit 0
fi
#RabbitMQ安装目录
RABBITMQ_HOME=/home/rabbitmq3.8.1
export RABBITMQ_HOME
case "$1" in
start)
echo "Starting RabbitMQ ..."
;;
stop)
echo "Stopping RabbitMQ ..."
rabbitmqctl stop
;;
status)
echo "Status RabbitMQ ..."
rabbitmqctl status
;;
restart)
echo "Restarting RabbitMQ ..."
rabbitmq-server
;;
*)
echo "Usage: {start|stop|status|restart}"
;;
esac
exit 0
cd $RABBIT_HOME/sbin
cd $RABBIT_HOME/sbin
对rabbitmq授予可执⾏行行权限
[root@localhost init.d]# chmod 777 rabbitmq
添加rabbitmq服务到系统服务中
[root@localhost init.d]# chkconfig --add rabbitmq
设置⾃自启动
[root@localhost init.d]# chkconfig rabbitmq on
查看⾃自启动项是否设置成功
[root@localhost init.d]# chkconfig --list rabbitmq
开启rabbit服务
[root@localhost init.d]# ./rabbitmq start
测试开机重启
[root@localhost init.d]#reboot
[root@localhost ~]# ps -elf|grep rabbitmq
4、RabbitMQ相关命令
#启动服务,
启动服务,-detached代表后台守护进程方式启动
代表后台守护进程方式启动
rabbitmq-server -detached
#关闭服务
关闭服务
rabbitmqctl stop
#查看状态
查看状态
rabbitmqctl status
#列出角色
列出角色
rabbitmqctl list_users
#-------------------------------------------
#配置网页插件
配置网页插件
rabbitmq-plugins enable rabbitmq_management
#查看启动的插件,
查看启动的插件,[E*显示启动
rabbitmq-plugins list
显示启动] [e*隐式启动
隐式启动]
#-------------------------------------------
#添加用户,后面两个参数分别是用户名和密码
添加用户,后面两个参数分别是用户名和密码
rabbitmqctl add_user username password
#添加权限
添加权限
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
#修改用户角色
修改用户角色
rabbitmqctl set_user_tags admin administrator
#修改密码
修改密码
rabbitmqctl change_password username 'newpassword'
?、3.8以上版本的配置
1)、 找到环境配置⽂文件的位置
cat /home/rabbitmq3.8.1/sbin/rabbitmq-defaults
#【配置文件】位于于/home/rabbitmq3.8.1/etc/rabbitmq/目录下
# 可以配置RabbitMQ 核心程序、Erlang 服务和RabbitMQ 插件,它是标准的Erlang 配置
文件
# 格式:[{rabbit, [{tcp_listeners, [5672]}]}].
CONFIG_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq
#【环境变量】配置位于/home/rabbitmq3.8.1/etc/rabbitmq/目录下,格式:键值对。
# rabbitmq-env.conf定义的变量会覆盖rabbitmq启动脚本的内置参数
CONF_ENV_FILE=${SYS_PREFIX}/etc/rabbitmq/rabbitmq-env.conf
注:不不同的系统⽂文件位置有所不不同:
Generic UNIX: $RABBITMQ_HOME/etc/rabbitmq/
Debian: /etc/rabbitmq/
RPM: /etc/rabbitmq/
Mac OS X (Homebrew): ${install_prefix}/etc/rabbitmq/, the Homebrew prefix
is usually/usr/local
Windows: %APPDATA%\RabbitMQ\
2)、默认情况下配置⽂文件不不存在,需要创建:
touch /home/rabbitmq3.8.1/etc/rabbitmq/rabbitmq.config
touch /home/rabbitmq3.8.1/etc/rabbitmq/rabbitmq-env.conf