centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。...

①.完成MQTT服务器的搭建

②.集成MQTT到springboot后台

③.使MQTT支持WebSocket以便前端与springboot进行消息收发。

④.集成MQTT到工控机中

1.安装

mosquitto已经被加入到EPEL仓库中,添加EPEL源后可以直接通过yum安装。

sudo yum -y install epel-release

sudo yum install mosquitto

2.启停控制

控制mosquitto这个service即可。

#启动

sudo systemctl start mosquitto

#停止

sudo systemctl stop mosquitto

#重启

sudo systemctl restart mosquitto

#开机自启

sudo systemctl stop mosquitto

3. 提升安全等级

默认配置文件的位置是:/etc/mosquitto/mosquitto.conf。

(1)关闭allow_anonymous

在配置文件中去掉allow_anonymous参数前的注释符#,并将选项修改为false。

allow_anonymous false

(2)开启mqtt的websocket服务

开启后,前端或H5端可直接通过mqtt服务器与客户端及时消息通讯(如微信公众号 ——共享单车开锁)

安装的是eclipse 的镜像docker版本的可直接在mosquitto.conf添加下面的命令即可使mqtt服务器支持websocket

port 1883

listener 9001

protocol websockets

(3)设置密码

mqttroot 为用户名,输入此命令后会要求连续输入两次密码

注:第一次添加用户需用mosquitto_passwd -c,第二次则不用-c,否则会覆盖第一个用户

#mosquitto_passwd -c /etc/mosquitto/pwfile.example mqttroot

重启mosquitto后配置生效,同时pwfile.example文件中的密码转为密文存储。

(4)用户权限控制

修改用户权限 :vim /etc/mosquitto/aclfile.example

aclfile.example文件示例如下:

# 这会影响没有用户名的用户访问限制,让无用户名的客户端可以拥有订阅和发布权限

#topic read $SYS/#

#topic write $SYS/#

# 该topic只开放给“mqttroot”使用

#user mqttroot

#topic foo/bar

# This affects all clients.

#pattern write $SYS/broker/connection/%c/state

#遗嘱主题(客户端在connect的option属性中添加遗嘱message,这样当客户端异常断开时mqtt服务器会给

#订阅此topic的所有客户端发送遗嘱message),遗嘱主题在服务端检测客户端在线离线的时候用到。

#注:正常diconnect时,mqtt服务器是不会向订阅此主题的客户端推送message的。

user mqttroot

topic status/online

# 后台主题(工控机订阅)

user mqttroot

topic production/device/ipc/send/#(#通配符后面加设备号可实现一对一通讯,不加可实现一对多通讯)

# 工控机主题(后台订阅)

user mqttroot

topic production/device/ipc/rec/#(后台订阅所有工控机发回来的消息)

(3)测试效果(分别开三个xshell窗口,模拟MQTT服务器,发送者,订阅者)

给foo/bar推送消息(发送者)

centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。..._第1张图片

订阅foo/bar的消息(订阅者)

centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。..._第2张图片

②给springboot集成MQTT

未完待续。。。(已完成)

③.使MQTT支持WebSocket以便前端与springboot进行消息收发。

1.前端可mqtt的websocket直接与工控机通讯,这样消息不经过后台。

2.前端可使用原始的websocket与后台通讯,后台再通过mqtt与工控机通讯,通讯结果在返回给前端。

(已完成)

④.集成MQTT到工控机中

(已完成)

⑤工控机发布遗嘱主题,后台实时检测工控机在线离线。效果如下:

centos7修改服务器密码,centos7 上搭建MQTT服务器,修改密码,设置权限并进行测试。..._第3张图片

你可能感兴趣的:(centos7修改服务器密码)