【linux笔记】从源码编译安装mosquitto

该文详细介绍了如何在Ubuntu系统上下载、安装MosquittoMQTTBroker,包括配置匿名和密码登录,以及设置服务开机启动。首先从官方源下载源码并安装依赖库,接着进行编译和安装。然后分别展示了如何启用匿名登录和使用密码文件进行身份验证。最后,创建系统服务文件并配置开机启动Mosquitto。
摘要由CSDN通过智能技术生成

一、下载

官方源码下载

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

三、配置mosquito

1. 配置匿名登录

配置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

2. 配置密码登录

先创建密码文件,命令输入后会提示输入两次密码,输入完成后文件创建完成

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

如果之前有过配置可能会有以下错误:

  • 错误1,不能开启服务:
    Failed to enable unit: Unit file /etc/systemd/system/mosquitto.service is masked.
    在这里插入图片描述
    先解锁,然后重新执行上面的步骤:
sudo systemctl unmask mosquitto
  • 错误2,mosquitto_sub提示版本问题:
    mosquitto_sub: /lib/arm-linux-gnueabihf/libmosquitto.so.1: version `MOSQ_1.7’ not found (required by mosquitto_sub)
    在这里插入图片描述
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
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值