第一步:下载mosquitto-2.0.20.tar.gz
第二步:传到服务器然后安装
bash
tar -zxvf mosquitto-2.0.20.tar.gz
cd mosquitto-2.0.20
make
sudo make install
安装过程中如果出现cJson缺少需要先安装cJSON
安装好后
行这条命令,创建 mosquitto 系统用户(不能登录、不创建家目录,专门给 mqtt 服务用)
useradd -M -s /sbin/nologin mosquitto
你在 /etc/mosquitto 目录,这里只有示例文件 mosquitto.conf.example,我们需要新建正式的 mosquitto.conf
1. 创建配置文件
cp mosquitto.conf.example mosquitto.conf
然后编辑它:
vi mosquitto.conf
把里面内容清空,粘贴下面最简配置(适合测试,匿名访问、所有网卡监听 1883):
listener 1883 0.0.0.0
allow_anonymous true
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
保存退出(vi:按 ESC,输入 :wq 回车)
2. 确认目录权限(之前创建过就再核对一遍)
mkdir -p /var/lib/mosquitto /var/log/mosquitto
chown mosquitto:mosquitto /var/lib/mosquitto /var/log/mosquitto
3. 创建 systemd 服务文件
vi /etc/systemd/system/mosquitto.service
粘贴:
[Unit]
Description=Mosquitto MQTT Broker
After=network.target
[Service]
Type=simple
User=mosquitto
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存退出 :wq
4. 启动服务
systemctl daemon-reload
systemctl start mosquitto
systemctl enable mosquitto
systemctl status mosquitto
5. 测试
新开窗口测试:
mosquitto_sub -h 127.0.0.1 -t test/topic
再开一个:
mosquitto_pub -h 127.0.0.1 -t test/topic -m "hello mqtt"
注意:防火墙记得放行 1883 端口,不然外部机器连不上
firewall-cmd --add-port=1883/tcp --permanent
firewall-cmd --reload