安装erlang
下载erlang,下载地址:http://www.erlang.org/downloads
解压文件到 /otp/下
[root@localhost app]# tar -xvf otp_src_21.0.tar.gz
准备编译环境
[root@localhost otp_src_21.0]# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
安装,安装位置在/opt/erlang
[root@localhost otp_src_21.0]# ./configure --prefix=/opt/erlang
[root@localhost otp_src_21.0]# make && make install
设置环境变量
[root@localhost otp_src_21.0]# vim /etc/profile
将以下内容粘贴到最后
export ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
使配置文件生效
[root@localhost otp_src_21.0]# source /etc/profile
安装RabbitMQ
下载rabbitmq
[root@localhost app]# wget wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7-1.el7.noarch.rpm
安装
[root@localhost app]# rpm -ivh --nodeps rabbitmq-server-3.7.7-1.el7.noarch.rpm
安装插件
[root@localhost app]# rabbitmq-plugins enable rabbitmq_management
启动
[root@localhost app]# rabbitmq-server
如果发生以下错误
2018-09-13 23:37:32.537313
args: []
format: "Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces"
label: {error_logger,error_msg}
执行以下命令再重新启动
[root@localhost app]# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
启动成功
[root@localhost app]# rabbitmq-server
## ##
## ## RabbitMQ 3.7.7. Copyright (C) 2007-2018 Pivotal Software, Inc.
########## Licensed under the MPL. See http://www.rabbitmq.com/
###### ##
########## Logs: /var/log/rabbitmq/rabbit@localhost.log
/var/log/rabbitmq/rabbit@localhost_upgrade.log
Starting broker...
completed with 3 plugins.
在浏览器输入http://IP:15672,即可看到以下页面
如果存在防火墙,我们是访问不到这个页面的,要么关闭防火墙,要么只打开某些端口
有关防火墙的打开或关闭可以查看这篇文章:https://blog.csdn.net/lizc_lizc/article/details/82688025
我这里是打开端口,需要打开的端口有15672和5762
[root@localhost app]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
success
[root@localhost app]# firewall-cmd --zone=public --add-port=5672/tcp --permanent
success
[root@localhost app]# firewall-cmd --reload
success
默认账号和密码是guest,但是该账号只能在本地访问,因此我们还需要添加一个用户
[root@localhost app]# rabbitmqctl add_user lzc 123456
[root@localhost app]# rabbitmqctl set_user_tags lzc administrator
[root@localhost app]# rabbitmqctl set_permissions -p / lzc '.*' '.*' '.*'
此时输入账号lzc,密码123456即可登录成功
相关命令
服务启动关闭
启动:rabbitmq-server -detached
关闭:rabbitmqctl stop
用户管理
添加用户:rabbitmqctl add_user {username} {password}
删除用户:rabbitmqctl delete_user {username}
修改密码:rabbitmqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag}
tag可以为administrator, monitoring, management
权限管理
权限设置:rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}
conf:一个正则表达式match哪些配置资源能够被该用户访问。
write:一个正则表达式match哪些配置资源能够被该用户读。
read:一个正则表达式match哪些配置资源能够被该用户访问。
查看(指定vhost)所有用户的权限信息:rabbitmqctl list_permissions [-p vhostPath]
查看指定用户的权限信息:rabbitmqctl list_user_permissions {username}
清除用户的权限信息: rabbitmqctl clear_permissions [-p vhostPath] {username}
举例:
rabbitmqctl set_permissions -p / root “.*” “.*” “.*”
Docker安装RabbitMQ
docker run -d --hostname localhost --name lzc-rabbit -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=username -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3-management