作者:解琛
时间:2021 年 1 月 25 日

一、mosquitto

1.1 安装

ubuntu下Mosquitto安装及配置

sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt update
sudo apt install mosquitto -y
sudo apt install mosquitto-clients -y

1.2 配置

sudo vim /etc/mosquitto/mosquitto.conf

配置文件的含义如下。

pid_file /var/run/mosquitto.pid

# 消息持久存储
persistence true
persistence_location /var/lib/mosquitto/

# 日志文件
log_dest file /var/log/mosquitto/mosquitto.log

# 其他配置
include_dir /etc/mosquitto/conf.d

# 禁止匿名访问
allow_anonymous false

# 认证配置
password_file /etc/mosquitto/pwfile

# 权限配置
acl_file /etc/mosquitto/aclfile

1.3 启动、重启、停止服务器

#-c:指定特定配置文件启动
#-d:后台运行
mosquitto -c /etc/mosquitto/mosquitto.conf -d

如果 mosquitto 默认开启自动启动,如果已经在后台运行了,则使用系统服务管理程序停止、启动或重启。

service mossquitto start
service mossquitto stop
service mossquitto restart

1.4 查看服务器运行状态

(base) xiechen@xiechen-Ubuntu:~$ service mosquitto status
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto; generated)
   Active: active (running) since Mon 2021-01-25 10:32:37 CST; 9min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 21351 ExecStop=/etc/init.d/mosquitto stop (code=exited, status=0/SUCCESS)
  Process: 21637 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/mosquitto.service
           └─21643 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

1月 25 10:32:37 xiechen-Ubuntu systemd[1]: Starting LSB: mosquitto MQTT v3.1 message broker...
1月 25 10:32:37 xiechen-Ubuntu mosquitto[21637]:  * Starting network daemon: mosquitto
1月 25 10:32:37 xiechen-Ubuntu mosquitto[21637]:    ...done.
1月 25 10:32:37 xiechen-Ubuntu systemd[1]: Started LSB: mosquitto MQTT v3.1 message broker.

1.5 查看服务器日志

(base) xiechen@xiechen-Ubuntu:~$ sudo tail /var/log/mosquitto/mosquitto.log
1611540764: Client rtu4001 has exceeded timeout, disconnecting.
1611540764: Socket error on client rtu4001, disconnecting.
1611540815: New connection from 172.20.1.107 on port 1883.
1611540815: New client connected from 172.20.1.107 as rtu4001 (c1, k60, u'ims-om').
1611541929: mosquitto version 1.4.15 terminating
1611541957: mosquitto version 1.4.15 (build date Tue, 18 Jun 2019 11:42:22 -0300) starting
1611541957: Config loaded from /etc/mosquitto/mosquitto.conf.
1611541957: Opening ipv4 listen socket on port 1883.
1611541957: Opening ipv6 listen socket on port 1883.
1611541961: New connection from 172.20.1.107 on port 1883.

1.5 sub 订阅主题

参数描述
-h服务器主机,默认localhost;
-t指定主题;
-u用户名;
-P密码;
-i客户端id,唯一;
-m发布的消息内容;
mosquitto_sub -h localhost -u user1 -P 123456 -i "client2" -t '$SYS/broker/clients/active'

1.6 pub 发布信息

参数描述
-h服务器主机,默认localhost;
-t指定主题;
-u用户名;
-P密码;
-i客户端id,唯一;
-m发布的消息内容;

参数含义和 sub 一样。

mosquitto_pub -h localhost -t "test/abc" -u user1 -P 123456 -i "client3" -m "How are you?"
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐