官方源码下载
sudo wget https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz
tar -zxvf mosquitto-2.0.15.tar.gz //编译是cd进入源码文件夹内
安装依赖:
sudo apt install gcc g++ make libssl-dev libcjson-dev libwebsockets-dev
编译安装
sudo make
sudo make install
配置mosquitto,创建配置文件,也可以自定义其他路径和文件名
sudo vim /etc/mosquitto/conf.d/mycfg.conf
匿名登录开启:
allow_anonymous true
listener 1883
然后可以先手动开启测试下配置是否正确(用户权限下mosquitto命令找不到可能是正常的,执行文件有时在/usr/local/sbin/
下面):
sudo mosquitto -c /etc/mosquitto/conf.d/mycfg.conf
先创建密码文件,命令输入后会提示输入两次密码,输入完成后文件创建完成
sudo mosquitto_passwd -c /etc/mosquitto/passwd ankee
创建配置文件,也可以自定义其他路径和文件名
sudo vim /etc/mosquitto/conf.d/mycfg.conf
配置密码文件,关闭匿名登录:
allow_anonymous false
listener 1883
password_file /etc/mosquitto/passwd
然后可以先手动开启测试下配置是否正确(用户权限下mosquitto命令找不到可能是正常的,执行文件有时在/usr/local/sbin/
下面):
sudo mosquitto -c /etc/mosquitto/conf.d/mycfg.conf
sudo vim /etc/systemd/system/mosquitto.service
注意ExecStart
中执行命令和自己配置文件的路径和文件名正确
[Unit]
Description=Mosquitto MQTT Broker
After=network.target
[Service]
ExecStart=mosquitto -c /etc/mosquitto/conf.d/mycfg.conf
Restart=always
User=root
[Install]
WantedBy=multi-user.target
配置开机重启
sudo systemctl daemon-reload
sudo systemctl enable mosquitto
如果之前有过配置可能会有以下错误:
sudo systemctl unmask mosquitto
cd /usr/lib/arm-linux-gnueabihf/
sudo rm ./libmosquitto*
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/arm-linux-gnueabihf/libmosquitto.so.1
sudo ldconfig