日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

macOS上搭建RabbitMQ+MQTT服务器

發(fā)布時(shí)間:2025/4/14 c/c++ 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 macOS上搭建RabbitMQ+MQTT服务器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 下載RabbitMQ
https://www.rabbitmq.com/install-standalone-mac.html

通過brew直接安裝RabbitMQ

brew install 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)使用以下命令

ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl

重啟終端使新的OpenSSL生效。

?

3. RabbitMQ目錄
(1)配置文件目錄

[手動(dòng)解壓]rabbitmq_server_x.x.xx/etc/rabbitmq/ [brew安裝]/usr/local/etc/rabbitmq/

(2)運(yùn)行文件目錄

[手動(dòng)解壓]rabbitmq_server_x.x.xx/sbin/ [brew安裝]/usr/local/sbin/

?

4. 在RabbitMQ中啟用插件
(1)MQTT

[運(yùn)行文件目錄]/rabbitmq-plugins enable rabbitmq_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)容:

# Rabbitmq的配置文件,包含插件的配置 CONFIG_FILE=rabbitmq# 服務(wù)器的ip地址 NODE_IP=127.0.0.1# 服務(wù)器的主機(jī)名 NODENAME=rabbit@localhost

(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)添加用戶

[運(yùn)行文件目錄]/rabbitmqctl add_user DeviLeo DeviLeo@2017

(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)啟用插件

[運(yùn)行文件目錄]/rabbitmq-plugins enable rabbitmq_web_mqtt [運(yùn)行文件目錄]/rabbitmq-plugins enable rabbitmq_web_mqtt_examples?

(2)運(yùn)行Web MQTT示例
請(qǐng)使用多個(gè)瀏覽器打開http://127.0.0.1:15670,選擇想要查看的示例,即可看到效果。

?

【附錄】
一、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)驗(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。