CentOS7安装RabbitMQ (安装包安装)
环境:
CentOS7
需要安装:erlang 22.2 rabbitmq 3.8.3
参考:
rabbit官网地址:http://www.rabbitmq.com/which-erlang.html
rabbit文档:http://www.rabbitmq.com/install-generic-unix.html
https://blog.csdn.net/weixin_41004350/article/details/83046842
入门教程:https://www.rabbitmq.com/getstarted.html
一、安装erlang
rabbitmq是erlang语言编写的,安装rabbitmq之前,需要先安装erlang,这里用erlang的源码进行安装,erlang安装包官网下载地址:http://erlang.org/download/
网盘链接:提取码:0k9j
在Rabbit中存在两种消息确认模式, 自动确认:只要消息从队列获取,无论消费者获取到消息后是否成功消费,都认为是消息成功消费 手动确认:消费从队列中获取消息后,服务器会将该消息处于不可用状态,等待消费者反馈 改为手动确认方式只需改两处,1.开启监听时将autoAck参数改为false,2.消息消费成功后返回确认 RabbitMQ提供了四种Exchange模式:direct(路由模式),fanout(发布订阅模式),topic(通配符模式),header 。
1.下载安装包(otp_src_22.2.tar.gz)然后上传至Linux服务器
2.解压:定位到安装包所在目录
tar -zxvf otp_src_22.2.tar.gz
3.安装必要的环境# 在编译之前,必须安装以下依赖包
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
4.编译并安装
cd otp_src_22.2 ./configure --prefix=/usr/local/erlang make && make install
5.配置环境变量
#进入profile文件
vim /etc/profile
#添加如下内容
PATH=$PATH:/usr/local/erlang/bin
source /etc/profile
6.安装完成,直接输入erl,得到如下图得安装成功
二、安装rabbitmq
1.下载rabbitmq安装包,我是通过xftp上传到服务器的
2.解压:定位到安装包目录
xz -d rabbitmq-server-generic-unix-3.8.3.tar.xz tar xf rabbitmq-server-generic-unix-3.8.3.tar
3.安装必要的环境
yum install python -y yum install xmlto -y yum install python-simplejson -y (这个我没安装成功)
4.配置# 添加环境变量
vi /etc/profile ------ 添加如下内容 ------ PATH=$PATH:/usr/local/rabbitmq_server-3.8.3/sbin
#重载一下环境变量
source /etc/profile
#添加web管理插件
rabbitmq-plugins enable rabbitmq_management
5.添加配置文件
默认rabbitmq是没有配置文件的,需要去官方github上,复制一个配置文件模版过来,将配置文件复制到 /usr/local/rabbitmq_server-3.7.8/etc/rabbitmq/ 下,github地址:https://github.com/rabbitmq/rabbitmq-server/tree/master/docs
6.启动rabbitmq服务(输入rabbitmq-server detached后可能会出现【node with name "rabbit" already running】,可能是因为rabbitmq已经自动启动了,可以用命令
sudo rabbitmqctl status查看下状态)
# 后台启动rabbitmq服务
rabbitmq-server detached
7.登录管理插件
启用了rabbitmq的管理插件,会有一个web管理界面,默认监听端口15672,将此端口在防火墙上打开,则可以访问web界面(172.16.xx.xx:15672),默认用户名guest密码也是guest,登录后报错:User can only log in via localhost,那是因为默认是限制了guest用户只能在本机登陆,可以修改配置文件rabbitmq.conf来取消这个限制。
登录后的界面:
rabbitmq常用命令
查看状态:
sudo rabbitmqctl status
停止rabbitmq:
sudo rabbitmqctl stop
启动:
sudo rabbitmq-server detached
插件管理:
插件列表: rabbitmq-plugins list
启动插件: rabbitmq-plugins enable XXX (XXX为插件名)
停用插件: rabbitmq-plugins disable XXX
用户管理:
添加用户: rabbitmqctl add_user username password
删除用户: rabbitmqctl delete_user username
修改密码: rabbitmqctl change_password username newpassword
设置用户角色: rabbitmqctl set_user_tags username tag
列出用户: rabbitmqctl list_users
权限管理:
列出所有用户权限: rabbitmqctl list_permissions
查看制定用户权限: rabbitmqctl list_user_permissions username
清除用户权限: rabbitmqctl clear_permissions [-p vhostpath] username
设置用户权限: rabbitmqctl set_permissions [-p vhostpath] username conf write read
conf: 一个正则匹配哪些资源能被该用户访问
write:一个正则匹配哪些资源能被该用户写入
read:一个正则匹配哪些资源能被该用户读取