ubuntu下安装mosquitto所遇问题汇总

项目中用到mosquitto,在进行源码编译时遇到问题,特进行记录汇总

1.Could NOT find cJSON

具体报错信息为:

-- Could NOT find cJSON (missing: CJSON_INCLUDE_DIR CJSON_LIBRARY) 
-- Optional dependency cJSON not found. Some features will be disabled.

解决办法:
最好在工程文件夹下创建一专门用于编译cJSON的文件夹,执行如下代码

git clone https://github.com/DaveGamble/cJSON.git
cd cJSON
mkdir build
cmake ..
### 安装和配置 Mosquitto MQTT Broker #### 准备工作 为了确保系统的安全性和稳定性,在开始之前应该更新现有的软件包列表并升级已安装的程序至最新版本。 ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装 Mosquitto 软件包 由于 Mosquitto 已经被包含在 Ubuntu 22.04 的官方仓库里,因此可以直接利用 `apt` 命令来完成安装过程[^1]: ```bash sudo apt install mosquitto mosquitto-clients -y ``` 这里不仅会安装 Mosquitto 本身,还会一并下载客户端工具集 (`mosquitto-clients`) ,这有助于后续测试消息传递功能。 #### 配置基础设置 一旦安装成功,默认情况下 Mosquitto 就可以正常运行了。不过对于生产环境而言,建议进一步调整其行为以满足特定需求。编辑主配置文件 `/etc/mosquitto/conf.d/default.conf` 来启用监听端口和其他必要的选项: ```bash sudo nano /etc/mosquitto/conf.d/default.conf ``` 向该文件内添加如下几行内容作为基本设定(可根据实际情况修改): ```plaintext listener 1883 localhost allow_anonymous true password_file /etc/mosquitto/passwd ``` 上述命令指定了本地监听地址以及允许匿名连接的方式;同时也设定了密码验证所需的路径位置。 #### 创建用户认证机制 如果希望增强安全性,则需创建至少一名具有访问权限的账户,并将其保存于指定的位置中。执行下面这条指令即可新增一位名为 `user1` 的合法使用者[^4]: ```bash sudo mosquitto_passwd -c /etc/mosquitto/passwd user1 ``` 此时系统将会提示输入两次新用户的登录凭证,请务必牢记所填写的信息以便日后管理维护之用。 #### 启动与开机自启服务 最后一步就是激活 Mosquitto 并开启随主机启动的服务开关。考虑到当前大多数 Linux 发行版都采用了 systemd 初始化管理系统,故而采用相应的方法来进行操作[^3]: ```bash sudo systemctl enable --now mosquitto.service ``` 此命令实现了两项重要任务——立即触发一次性的即时启动动作的同时也注册好了定时唤醒计划,从而保障每次重启之后无需手动干预就能自动恢复在线状态。 #### 测试发布/订阅功能 现在一切准备就绪,可以通过简单的例子检验整个流程是否顺畅无误。打开两个不同的终端窗口分别模拟发送者和接收者的角色。先是在其中一个界面上键入以下语句成为主题订户[^5]: ```bash mosquitto_sub -t test -u user1 -P 'your_password' ``` 紧接着切换到另一个地方充当信息发布源的角色发出一条简短的通知给前者知晓: ```bash mosquitto_pub -t "test" -m "Hello, this is a message from the publisher!" -u user1 -P 'your_password' ``` 只要一切顺利的话,那么前一个界面理应能接收到后者传来的问候词组啦!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值