1. 安装Erlang
由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum -y install erlang
2. 安装RabbitMQ Server
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash yum -y install rabbitmq-server
3. 启动和关闭
systemctl start rabbitmq-server systemctl stop rabbitmq-server
4. 日志目录
/var/log/rabbitmq/rabbit
日志每周轮询一次,配置文件在: /etc/logrotate.d/rabbitmq-serve
5. 开启WEB UI
rabbitmq-plugins enable rabbitmq_management
默认账号密码:guest guest(这个账号只允许本机访问)
6. 创建用户
6.1 创建一个用户,具有管理员权限
rabbitmqctl add_user admin password rabbitmqctl set_user_tags admin administrator
6.2 创建一个用户和虚拟主机,并允许该用户访问该虚拟主机
rabbitmqctl add_user celery celery rabbitmqctl add_vhost celery_vhos rabbitmqctl set_user_tags celery celery_tag rabbitmqctl set_permissions -p celery_vhost celery ".*" ".*" ".*"
7. 默认端口
- 4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务
- 5672、5671:由不带TLS和带TLS的AMQP 0-9-1和1.0客户端使用
- 25672:用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+ 20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开。有关详细信息,请参见网络指南。
- 35672-35682:由CLI工具(Erlang分发客户端端口)用于与节点进行通信,并从动态范围(计算为服务器分发端口+ 10000通过服务器分发端口+ 10010)分配。有关详细信息,请参见网络指南。
- 15672:HTTP API客户端,管理UI和Rabbitmqadmin (仅在启用了管理插件的情况下)
- 61613、61614:不带TLS和带TLS的STOMP客户端(仅在启用STOMP插件的情况下)
- 1883、8883 :(如果启用了MQTT插件,则不带TLS和具有TLS的MQTT客户端
- 15674:STOMP-over-WebSockets客户端(仅在启用了Web STOMP插件的情况下)
- 15675:MQTT-over-WebSockets客户端(仅在启用Web MQTT插件的情况下)
- 15692:Prometheus指标(仅在启用Prometheus插件的情况下)