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