本文使用emqx搭建mqtt:官方地址传送门
1.查看openssl版本
openssl version
一般情况,centos7版本为1.0.2,mqtt的框架emqx必须大于1.0.2,所以如果低于该版本请升级:centos升级openssl教程传送门
2.安装
wget https://www.emqx.com/zh/downloads/broker/4.3.8/emqx-centos7-4.3.8-amd64.rpm
sudo yum install emqx-centos7-4.3.8-amd64.rpm
sudo emqx start
3.查看防火墙
如果当前服务器打开了防火墙,需要将防火墙相应端口进行配置。
firewall-cmd --permanent --zone=public --add-port=1883/tcp
firewall-cmd --permanent --zone=public --add-port=18083/tcp
firewall-cmd --reload
如果是云服务器,配置了安全组,根据自己的情况配置安全组。
4.进入etc/emqx目录
cd /etc/emqx
5.修改配置文件emqx.conf
vi emqx.conf
修改配置文件内容。
allow_anonymous = false #关闭匿名用户登录
acl_nomatch = deny #启动主题权限
6.打开配置网页
登录网页端后台:http://xx.xx.xx.xx:18083/
请及时修改默认账号和密码
默认账号:admin
默认密码:public
7.配置网页打开插件emqx_auth_mnesia
网页端->插件->emqx_auth_mnesia->启动
8.配置mqtt用户名和密码
vi plugins/emqx_auth_mnesia.conf
修改文件内容:
auth.user.1.username = bydz-smt
auth.user.1.password = bydzsmt123!@#
9.配置acl主题权限
vi acl.conf
修改文件内容:
{allow, {user, "xxxx"}, pubsub, ["xx/xx"]}.
%%{allow, all}.
字段说明
alllow:允许
deny 禁止
all 所有人
{user, "xxxx"} 特定账号
{ipaddr, "127.0.0.1"} 特定ip
publish 发布
subscribe 订阅
pubsub 发布订阅
10.重新加载acl配置文件
emqx_ctl modules reload emqx_mod_acl_internal
11.重新启动emqx
emqx restart
网友评论