macOS上搭建RabbitMQ+MQTT服务器
1. 下載RabbitMQ
https://www.rabbitmq.com/install-standalone-mac.html
或
通過brew直接安裝RabbitMQ
?
2. 安裝OpenSSL 1.0.x
如果是通過brew安裝RabbitMQ請(qǐng)?zhí)^此步驟。
如果是手動(dòng)解壓下載包,在使用RabbitMQ之前請(qǐng)確保系統(tǒng)的openssl是1.0以上版本。
使用命令openssl version查看當(dāng)前系統(tǒng)的openssl版本,
若是0.9.x版本請(qǐng)使用brew install openssl安裝最新版本。
若安裝后查看版本仍舊是0.9.x請(qǐng)使用以下命令
重啟終端使新的OpenSSL生效。
?
3. RabbitMQ目錄
(1)配置文件目錄
(2)運(yùn)行文件目錄
[手動(dòng)解壓]rabbitmq_server_x.x.xx/sbin/ [brew安裝]/usr/local/sbin/?
4. 在RabbitMQ中啟用插件
(1)MQTT
(2)Management(可選)
[運(yùn)行文件目錄]/rabbitmq-plugins enable rabbitmq_management [運(yùn)行文件目錄]/rabbitmq-plugins enable rabbitmq_management_visualiser方便通過網(wǎng)頁登錄http://localhost:15672/查看RabbitMQ的狀態(tài)等信息。
注1:[手動(dòng)解壓]默認(rèn)配置下,沒有任何用戶可以登錄管理界面。需要在第5步添加用戶后才能登錄。
注2:[brew安裝]默認(rèn)配置下,guest用戶只能通過回路IP 127.0.0.1登錄,無法通過其它IP登錄。
?
5. 配置RabbitMQ
(1)rabbitmq-env.conf
在配置文件目錄下打開rabbitmq-env.conf文件,若文件不存在請(qǐng)手動(dòng)創(chuàng)建。
輸入或替換如下內(nèi)容:
(2)rabbitmq.conf
輸入以下內(nèi)容:
[{rabbitmq_mqtt, [{tcp_listeners, [1883]},{default_user, <<"DeviLeo">>},{default_pass, <<"DeviLeo@2017">>},{allow_anonymous, true},{vhost, <<"/">>},{exchange, <<"amq.topic">>},{subscription_ttl, 1800000},{prefetch, 10}]} ].別漏了最后的方括號(hào)后面的點(diǎn),否則會(huì)無法啟動(dòng)服務(wù)器。
注1:更多配置參數(shù)及說明見《附錄二、(3)配置文件示例》。
注2:出于安全考慮,建議刪除default_user和default_pass,
并且allow_anonymous設(shè)為false。
因?yàn)樵赼llow_anonymous為true的時(shí)候,如果客戶端不提供用戶名和密碼,
將使用配置文件中的default_user和default_pass作為用戶名和密碼登錄。
?
6. 啟動(dòng)RabbitMQ
[運(yùn)行文件目錄]/rabbitmq-server當(dāng)出現(xiàn)Starting broker...這行之后表示RabbitMQ已經(jīng)啟動(dòng)完畢。
completed with N plugins.表示N個(gè)插件已經(jīng)加載。
?
7. 添加用戶
前提:RabbitMQ已成功啟動(dòng)。
(1)添加用戶
(2)添加管理員身份
[運(yùn)行文件目錄]/rabbitmqctl set_user_tags DeviLeo administrator(3)設(shè)置虛擬主機(jī)權(quán)限
[運(yùn)行文件目錄]/rabbitmqctl set_permissions -p / DeviLeo ".*" ".*" ".*"?
8. 使用MQTT客戶端連接RabbitMQ服務(wù)器
默認(rèn)端口為1883。
賬號(hào)為第7步添加的用戶名和密碼。
如果沒有MQTT的客戶端,請(qǐng)繼續(xù)往下看。
?
9. Web MQTT插件
(1)啟用插件
(2)運(yùn)行Web MQTT示例
請(qǐng)使用多個(gè)瀏覽器打開http://127.0.0.1:15670,選擇想要查看的示例,即可看到效果。
?
【附錄】
一、rabbitmqctl常用命令
(1)添加用戶
(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)驗(yàn)證用戶密碼
rabbitmqctl authenticate_user [用戶名] [密碼] 例:rabbitmqctl authenticate_user DeviLeo DeviLeo@2017(8)列出所有用戶
rabbitmqctl list_users(9)設(shè)置虛擬主機(jī)權(quán)限
rabbitmqctl set_permissions [-p 虛擬主機(jī)名] [用戶名] [配置權(quán)限] [寫權(quán)限] [讀權(quán)限] 例:rabbitmqctl set_permissions -p / DeviLeo ".*" ".*" ".*"(10)清除虛擬主機(jī)權(quán)限
rabbitmqctl clear_permissions [-p 虛擬主機(jī)名] [用戶名] 例:rabbitmqctl clear_permissions -p / DeviLeo(11)列出虛擬主機(jī)的權(quán)限
rabbitmqctl list_permissions [-p 虛擬主機(jī)名] 例:rabbitmqctl list_permissions -p /(12)關(guān)閉RabbitMQ進(jìn)程
rabbitmqctl shutdown?
二、官方文檔
(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
?
轉(zhuǎn)載于:https://www.cnblogs.com/DeviLeo/p/7234200.html
總結(jié)
以上是生活随笔為你收集整理的macOS上搭建RabbitMQ+MQTT服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos下安装apache+mysq
- 下一篇: 第20课 - 初始化列表的使用