注意事项:rabbitMA版本和erlang并不是同步更新的,会出现版本不匹配,安装不了。
两都版本对应 参考官网文档 其它下载地址
1):Erlang安装 (因为是erlant语言编写的,故需要安装erlang环境)
erlant官方网址 下载源码版,因linux只能下城源码编译后安装。如otp_src_版本号.tar.gz
wget http://erlang.org/download/otp_src_19.3.tar.gz
安装erlang依赖模块:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
yum -y install ncurses-devel
解压指定目录:
tar -zxvf otp_src_19.3.tar.gz -C /自定义目录
进入目录 otp_src_19.3 来检测你的安装平台的目标特征的 编译安装
./configure --prefix=/opt/rabbitmq/erlang/install --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac make -j8 make install
配置环境变量:
使配置生效:
source /etc/profile
软连接 :【可忽略】
软连接的功能是为某一个文件在另外一个位置建立一个同步的链接.
ln -s /opt/rabbitmq/install/erlang/bin/erl /usr/local/bin/
命令行输入erl,如果出现以下提示:则配置成功
2):rabbitMQ安装
rabbitMQ官方下载 或 rabbitMQ除官方外版本 下载rpm格式文件。
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
上传到/opt/rabbitmq
目录下执行
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
rabbitMQ 服务相关操作命令
启动:systemctl start rabbitmq-server.service 停止:systemctl stop rabbitmq-server.service 重启:systemctl restart rabbitmq-server.service 添加开机启动RabbitMQ服务:systemctl enable rabbitmq-server.service 查看服务状态:systemctl status rabbitmq-server.service 查看已安装插件列表:rabbitmq-plugins list
rabbitMQ用户相关操作命令
注:由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest 用户只能通过 localhost 登陆使用。
并建议删除 guest 用户的密码以及新建其他账号管理使用 rabbitmq (该功能是在3.3.0版本引入的)
查看当前所有用户:rabbitmqctl list_users
查看默认guest用户的权限:rabbitmqctl list_user_permissions guest
由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户:rabbitmqctl delete_user guest
添加新用户:rabbitmqctl add_user username password
修改用户密码:rabbitmqctl change_password username password
设置用户tag(设置角色):rabbitmqctl set_user_tags username administrator
超级管理员(administrator),监控者(monitoring),策略制定者(policymaker),普通管理者(management)
赋予用户默认vhost的全部操作权限:rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
访问 http://ip:15672/
地址,输入 guest 帐户是不能登陆的,只能按上面步骤创建帐户并能登陆成功。
不能访问-容易掉坑的地方:
1):检查防火墙问题
2):端口开放问题
3):阿里云 安全组配置问题
3):rabbitmq web 页面是否启动问题 (启动命令:rabbitmq-plugins enable rabbitmq_management )