前言
Fedora 和 RHEL库里面的RabbitQM已经不维护了,推荐选择Bintray。
正文
Binary 也可以用来安装Erlang(rabbitmq的编写语言)。服务器Centos 7.7。非集群模式。
安装Erlang
erlang是rabbitmq最重要的依赖,安装参考github
-
创建
/etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang] name=rabbitmq-erlang baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7 # 对应的centos大版本 gpgcheck=1 gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1
-
安装
yum install erlang
安装RabbitMQ
-
导入sign key,使yum能信任里面的package。使用
rpm --import
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
-
增加
/etc/yum.repos.d/rabbitmq.repo
文件,内容如下。baseurl里面最后一位/v3.8.x/el/7/
的7对应系统版本,centos8 为/v3.8.x/el/8/
[bintray-rabbitmq-server] name=bintray-rabbitmq-rpm baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/ gpgcheck=0 repo_gpgcheck=0 enabled=1
-
3.7版本的RabbitMQ在2020停止维护,选择3.8版本新版。
-
下载rpm文件。
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el7.noarch.rpm
-
通过yum文件安装
yum install rabbitmq-server-3.8.3-1.el7.noarch.rpm -y
rabbitmqctl
rabbitmq的节点管理工具。文档
配置
配置为自启动的守护进程
chkconfig rabbitmq-server on
启动与停止
systemctl start rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
开发测试环境配置
服务默认的设置基本够用。
-
添加用户,赋予权限
默认有个guest/guest用户,但是只能localhost访问。
rabbitmqctl add_user full_access 111111 # 创建full_access 用户,密码111111 rabbitmqctl set_user_tags full_access administrator # 给用户赋administrator角色
-
查看用户,可以看到有2个用户。
[root@test ~]# rabbitmqctl list_users Listing users ... user tags guest [administrator] full_access [administrator]
-
添加vhost
rabbitmqctl add_vhost test_host1
-
给full_access用户在test_host1上赋读写权限
rabbitmqctl set_permissions -p test_host1 full_access ".*" ".*" ".*"#后三个参数都是正则
生产环境配置
占个位先configure。production-checklist
端口
系统的防火墙会影响到通信,需要开一些端口。比较常用的
- 5672/5671客户端非安全/安全连接端口
- 15672 启用
management
插件时候的 http api客户端,management UI,rabbitmqadmin - 1883/8883,
MQTT
插件的mqtt客户端非安全/安全连接端口。 - 61613/61614,
STOMP
插件的非安全/安全客户端端口
配置management UI
访问地址:http://ip:15672
-
开启/关闭
rabbitmq-plugins enable rabbitmq_management #开启rabbitmq_management,对应有disable