1. 下载RabbitMQ
https://www.rabbitmq.com/install-standalone-mac.html
或
经过brew直接安装RabbitMQhtml
brew install rabbitmq
2. 安装OpenSSL 1.0.x
若是是经过brew安装RabbitMQ请跳过此步骤。
若是是手动解压下载包,在使用RabbitMQ以前请确保系统的openssl是1.0以上版本。
使用命令openssl version查看当前系统的openssl版本,
如果0.9.x版本请使用brew install openssl安装最新版本。
若安装后查看版本仍旧是0.9.x请使用如下命令git
ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl
重启终端使新的OpenSSL生效。github
3. RabbitMQ目录
(1)配置文件目录web
[手动解压]rabbitmq_server_x.x.xx/etc/rabbitmq/
[brew安装]/usr/local/etc/rabbitmq/
(2)运行文件目录浏览器
[手动解压]rabbitmq_server_x.x.xx/sbin/
[brew安装]/usr/local/sbin/
4. 在RabbitMQ中启用插件
(1)MQTT安全
[运行文件目录]/rabbitmq-plugins enable rabbitmq_mqtt
(2)Management(可选)服务器
[运行文件目录]/rabbitmq-plugins enable rabbitmq_management
[运行文件目录]/rabbitmq-plugins enable rabbitmq_management_visualiser
方便经过网页登陆http://localhost:15672/查看RabbitMQ的状态等信息。
注1:[手动解压]默认配置下,没有任何用户能够登陆管理界面。须要在第5步添加用户后才能登陆。
注2:[brew安装]默认配置下,guest用户只能经过回路IP 127.0.0.1登陆,没法经过其它IP登陆。tcp
5. 配置RabbitMQ
(1)rabbitmq-env.conf
在配置文件目录下打开rabbitmq-env.conf文件,若文件不存在请手动建立。
输入或替换以下内容:fetch
# Rabbitmq的配置文件,包含插件的配置 CONFIG_FILE=rabbitmq # 服务器的ip地址 NODE_IP=127.0.0.1 # 服务器的主机名 NODENAME=rabbit@localhost
(2)rabbitmq.confspa
输入如下内容:
[ {rabbitmq_mqtt, [{tcp_listeners, [1883]}, {default_user, <<"DeviLeo">>}, {default_pass, <<"DeviLeo@2017">>}, {allow_anonymous, true}, {vhost, <<"/">>}, {exchange, <<"amq.topic">>}, {subscription_ttl, 1800000}, {prefetch, 10} ]} ].
别漏了最后的方括号后面的点,不然会没法启动服务器。
注1:更多配置参数及说明见《附录2、(3)配置文件示例》。
注2:出于安全考虑,建议删除default_user和default_pass,
而且allow_anonymous设为false。
由于在allow_anonymous为true的时候,若是客户端不提供用户名和密码,
将使用配置文件中的default_user和default_pass做为用户名和密码登陆。
6. 启动RabbitMQ
[运行文件目录]/rabbitmq-server
当出现Starting broker...这行以后表示RabbitMQ已经启动完毕。
completed with N plugins.表示N个插件已经加载。
7. 添加用户
前提:RabbitMQ已成功启动。
(1)添加用户
[运行文件目录]/rabbitmqctl add_user DeviLeo DeviLeo@2017
(2)添加管理员身份
[运行文件目录]/rabbitmqctl set_user_tags DeviLeo administrator
(3)设置虚拟主机权限
[运行文件目录]/rabbitmqctl set_permissions -p / DeviLeo ".*" ".*" ".*"
8. 使用MQTT客户端链接RabbitMQ服务器
默认端口为1883。
帐号为第7步添加的用户名和密码。
若是没有MQTT的客户端,请继续往下看。
9. Web MQTT插件
(1)启用插件
[运行文件目录]/rabbitmq-plugins enable rabbitmq_web_mqtt
[运行文件目录]/rabbitmq-plugins enable rabbitmq_web_mqtt_examples
(2)运行Web MQTT示例
请使用多个浏览器打开http://127.0.0.1:15670,选择想要查看的示例,便可看到效果。
【附录】
1、rabbitmqctl经常使用命令
(1)添加用户
rabbitmqctl add_user [用户名] [密码]
例:rabbitmqctl add_user DeviLeo DeviLeo
(2)添加管理员身份
rabbitmqctl set_user_tags [用户名] administrator
例:rabbitmqctl set_user_tags DeviLeo administrator
(3)移除管理员身份
rabbitmqctl set_user_tags [用户名]
例:rabbitmqctl set_user_tags DeviLeo
(4)删除用户
rabbitmqctl delete_user [用户名]
例:rabbitmqctl delete_user DeviLeo
(5)修改用户密码
rabbitmqctl change_password [用户名] [新密码] 例:rabbitmqctl change_password DeviLeo DeviLeo@2017
(6)清除用户密码
rabbitmqctl clear_password [用户名]
例:rabbitmqctl clear_password DeviLeo
清除密码后该用户将没法登陆
(7)验证用户密码
rabbitmqctl authenticate_user [用户名] [密码] 例:rabbitmqctl authenticate_user DeviLeo DeviLeo@2017
(8)列出全部用户
rabbitmqctl list_users
(9)设置虚拟主机权限
rabbitmqctl set_permissions [-p 虚拟主机名] [用户名] [配置权限] [写权限] [读权限] 例:rabbitmqctl set_permissions -p / DeviLeo ".*" ".*" ".*"
(10)清除虚拟主机权限
rabbitmqctl clear_permissions [-p 虚拟主机名] [用户名]
例:rabbitmqctl clear_permissions -p / DeviLeo
(11)列出虚拟主机的权限
rabbitmqctl list_permissions [-p 虚拟主机名]
例:rabbitmqctl list_permissions -p /
(12)关闭RabbitMQ进程
rabbitmqctl shutdown
2、官方文档
(1)文件及目录位置
http://www.rabbitmq.com/relocate.html
(2)配置文档
http://www.rabbitmq.com/configure.html
(3)配置文件示例https://github.com/rabbitmq/rabbitmq-server/blob/stable/docs/rabbitmq.config.example