1. erlang与rabbitmq版本对应关系
2. 安装erlang
2.1. 安装依赖
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.2. 下载
cd /usr/local/src/
wget -c http://erlang.org/download/otp_src_20.2.tar.gz
2.3. 解压
tar -zxvf otp_src_20.2.tar.gz
2.4. 编译
cd /usr/local/src/otp_src_20.2/
./configure --prefix=/usr/local/erlang
2.5. 安装
cd /usr/local/src/otp_src_20.2/
make && make install
2.6. 测试安装是否成功
cd /usr/local/erlang/bin/
./erl
输入 halt(). 退出控制台
2.7. 配置环境变量
vim /etc/profile
#erlang
export PATH=$PATH:/usr/local/erlang/bin
#生效环境变量
source /etc/profile
任意地方输入erl能进入命令行, 那么就说明配置成功了。
3. 安装rabbitmq
3.1. 下载
cd /usr/local/src/
wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
3.2. 解压
cd /usr/local/src/
xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
mv /usr/local/src/rabbitmq_server-3.6.15 /usr/local/
3.3. 配置环境变量
vim /etc/profile
#rabbitmq
export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin
source /etc/profile
3.4. 启动后台管理
rabbitmq-plugins enable rabbitmq_management
3.5. 启动
rabbitmq-server -detached
3.6. 查看状态
rabbitmqctl status
3.7. 创建一个用户,账号admin 密码admin
rabbitmqctl add_user admin admin
3.8. 将admin用户赋管理员权限
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
3.9. 访问管理页面,默认为端口15672
#默认来宾用户:guest, 来宾用户密码:guest
http://192.168.10.33:15672
4. 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
5. 端口用途
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启用的时候打开)