一、安装 erlang
erlang与rabbitmq版本对应关系: https://www.rabbitmq.com/which-erlang.html
下载地址: http://www.erlang.org/downloads
1.安装依赖
[root@huyouba1 ~]# yum install -y gcc gcc-c++ ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel zlib-devel openssl-devel perl xz xmlto kernel-devel m4 glibc-devel socat make
2.下载
[root@huyouba1 src]# cd /usr/local/src/
[root@huyouba1 src]# wget -c http://erlang.org/download/otp_src_20.2.tar.gz
3.解压
[root@huyouba1 src]# tar xvf otp_src_20.2.tar.gz
4.编译
[root@huyouba1 src]# cd /usr/local/src/otp_src_20.2/
[root@huyouba1 otp_src_20.2]# ./configure --prefix=/usr/local/erlang
5.安装
[root@huyouba1 otp_src_20.2]# make &&make install
测试安装是否成功
[root@huyouba1 ~]# cd /usr/local/erlang/bin/
[root@huyouba1 bin]# ./erl //输入 halt(). 退出控制台
6.配置环境变量并使之生效
[root@huyouba1 bin]# vim /etc/profile
#erlang
export PATH=$PATH:/usr/local/erlang/bin
[root@huyouba1 bin]# source /etc/profile
二、安装 rabbitmq
下载地址: http://www.rabbitmq.com/releases/rabbitmq-server
1.下载
[root@huyouba1 ~]# cd /usr/local/src/
[root@huyouba1 src]# wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
2.解压
[root@huyouba1 src]# xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
[root@huyouba1 src]# tar xvf rabbitmq-server-generic-unix-3.6.15.tar
[root@huyouba1 src]# mv /usr/local/src/rabbitmq_server-3.6.15/ /usr/local/
3.配置环境变量
[root@huyouba1 src]# vim /etc/profile
#rabbitmq
export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin
[root@huyouba1 src]# source /etc/profile
4.启动后台管理
[root@huyouba1 src]# rabbitmq-plugins enable rabbitmq_management
5.启动
[root@huyouba1 src]# rabbitmq-server -detached
6.查看状态
[root@huyouba1 src]# rabbitmqctl status
7.创建一个用户,账户admin,密码admin
[root@huyouba1 src]# rabbitmqctl add_user admin admin
8.将admin用户赋管理员权限
[root@huyouba1 src]# rabbitmqctl set_user_tags admin administrator
[root@huyouba1 src]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
9.访问管理页面,默认为端口15672
#默认来宾用户:guest, 来宾用户密码:guest http://IP:15672
三、rabbitmq常用操作命令
#启动后台管理
rabbitmq-plugins enable rabbitmq_management
#启动
rabbitmq-server -detached
#关闭
rabbitmqctl stop
#查看状态
rabbitmqctl status
#设置端口号或者关闭防火墙,以便外部访问
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
或
service iptables stop
#查看有哪些用户
rabbitmqctl list_users
#创建一个用户,账号admin 密码admin
rabbitmqctl add_user admin admin
#将admin用户赋管理员权限
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
#删除用户
rabbitmqctl delete_user username
#改密码
rabbimqctl change_password username newpassword
#检查本地节点是否正在运行
sudo rabbitmq-diagnostics ping
#节点摘除
rabbitmqctl forget_cluster_node rabbit@rabbit3
#重置
rabbitmqctl reset application
#打印已启用的组件
sudo rabbitmq-diagnostics status
#打印有效的节点配置
sudo rabbitmq-diagnostics环境
#对本地节点执行更广泛的运行状况检查
sudo rabbitmq-diagnostics node_health_check
#开启/关闭某个插件,需重启生效
rabbitmq-plugins enable/disable xxx
#查看所有队列信息
rabbitmqctl list_queues
#关闭应用
rabbitmqctl stop_app
#启动应用
rabbitmqctl start_app
#清除所有队列
rabbitmqctl reset
#访问管理页面,默认为端口15672
http://IP:15672
四、端口用途
4369
empd(Erlang Port Mapper Daemon),是 Erlang 的端口/结点名称映射程序,用来跟踪节点名称监听地址,在集群中起到一个类似 DNS 的作用;
5672、5671
由 AMQP 0-9-1 和 1.0 客户端使用;
15672
HTTP_API 端口,管理员用户才能访问,用于管理 RbbitMQ,需要启用 management 插件, rabbitmq-plugins enable rabbitmq_management ,访问 http://server-name:15672/;
25672
Erlang distribution,和4369配合;
61613、61614
当STOMP插件启用的时候打开,作为STOMP客户端端口(根据是否使用TLS选择);
1883、8883
当MQTT插件启用的时候打开,作为MQTT客户端端口(根据是否使用TLS选择);
15674
基于WebSocket的STOMP客户端端口(当插件Web STOMP启用的时候打开);
15675
基于WebSocket的MQTT客户端端口(当插件Web MQTT启用的时候打开);