【EMQX MQTT 服务器】EMQ X broker搭建以及使用

1.背景:在ubuntu16.04上安装一个MQTT服务器,最终决定使用EMQ X  .其作用主要是消息分发服务。

2.说明:

官网地址

下载地址 

 3.安装部署:可以看官网上安装步骤,这里选择deb方式

(1)使用的deb方式安装:

sudo dpkg -i emqx-ubuntu16.04-4.3.8-a64.deb 

(2)安装完成后,启动emqx服务。(这里需要root用户,sudo -s)

emqx start

如果出现:EMQ X Broker 4.3.8 is started sucessfully!代表启动成功。

(3)启动之后查看rmqx启动状态,其中emqx_ct类似执行指令相关的emqx的均使用该命令查看

emqx_ctl status

(4)到此为止,EMQX Broker安装完毕,就可以进行使用了。用户可以通过EMQX提供的后台管理面板查看连接到broker的相关信息(注意:需要emqx启动才可以):

http://安装broker服务器IP:18083(用户名:admin,密码:public)

(5)此时emqx没有做任何配置,任何用户都可以连接到Broker上进行订阅发布消息。如下举个例子,一端是使用websocket进行订阅消息,另一端使用MQTT进行发布消息,看是否能通。

  1. 点击后台管理器中websocket:其中host是安装emqx的地址。
  2. 点击绿色的“connect”按钮,会显示连接成功:
  3. 我们设置在websocket端的订阅主题,并点击“subscribe”开始订阅:
  4. 在另外一台电脑上,我们使用mqtt进行发布主题,安装mqttfx,并启动。点击“设置”图形按钮。弹出窗口后,可以点击右下角的“+”按钮新建一个文件,输入broker地址,端口号是1883,点击apply,保存。
  5. 返回刚刚的主界面,选中刚刚新建的文件,点击“connect”,可以连接成功。旁边的绿色灯表示连接成功。
  6. 我们吧刚刚在websocket订阅的主题在mqtt端发布,如下:
  7. 在websocket端可以看到收到了订阅的消息:
  8. 另外也可以在后台管理页面点击clients按钮,查看连接到该Broker的客户端。

 

 (6)以上说的都是没有认证的,任何一个客户端都可以连接并订阅发布,下面稍微介绍下认证的,只有指定用户名密码或者clientID的才可连接成功。

(7)EMQX的配置文件都在/etc/emqx中

(8)修改认证的话需要关注两个配置文件即可, emqx.conf取消匿名连接;/plugins/emqx_auth_mnesia.conf中添加用户名/密码或者clientID/密码方式

(9)先停止emqx服务:

emqx stop

(10)取消匿名认证,在emqx.conf中

allow_anonymous=false

 (10)增加用户名/密码,在emqx_auth_mnesia.conf中,这里使用的是用户名/m密码,因此,修改的是auth.user.1.username,如果使用clientid则修改的是auth.client.1.clientid

## Password hash.
##
## Value: plain | md5 | sha | sha256 | sha512
auth.mnesia.password_hash = sha256

##--------------------------------------------------------------------
## ClientId Authentication
##--------------------------------------------------------------------

## Examples
##auth.client.1.clientid = client1
##auth.client.1.password = passwd1
##auth.client.2.clientid = dev:devid
##auth.client.2.password = passwd2
##auth.client.3.clientid = app:appid
##auth.client.3.password = passwd3
##auth.client.4.clientid = client~!@#$%^&*()_+
##auth.client.4.password = passwd~!@#$%^&*()_+

##--------------------------------------------------------------------
## Username Authentication
##--------------------------------------------------------------------

## Examples:
auth.user.1.username = admin
auth.user.1.password = 12345678
##auth.user.2.username = feng@emqtt.io
##auth.user.2.password = public
##auth.user.3.username = name~!@#$%^&*()_+
##auth.user.3.password = pwsswd~!@#$%^&*()_+

 (11)修改配置文件完毕后,启动emqx start

(12)进入后台管理面板中,开启用户名密码认证插件:找到emqx_auth_mnesia 点击“start”

 (13)可以再次按照上面的步骤一端是websocket一端是mqtt。

此时需要填写用户名密码,在点击connect,否则连接不上。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值