Python:Mac 下 MQTT 服务器 Mosquitto 的配置
我在Mac电脑上搭建时遇到了一些不同于网上大部分情况的问题,特此分享给可能也有遇到相同情况又找不到解决方法的人。
我的电脑系统:macOS Mojave 10.14.3。
paho-mqtt 的安装
首先,需要下载 paho-mqtt 模块(也有很多别的 mqtt 模块,在 pypi.org 网站上可以搜索到,但我感觉这个模块的相关资料全一些) ,直接运行 pip install paho-mqtt 即可安装,不过根据官网提示,我选择在 virtualenv 中运行。【1】我运行的指令如下:
virtualenv paho-mqtt
source paho-mqtt/bin/activate
pip install paho-mqtt
git clone https://github.com/eclipse/paho.mqtt.python
cd paho.mqtt.python
python setup.py install
注意:以后再运行时都需要先执行 source paho-mqtt/bin/activate ,正常情况下如下图所示。

mqtt 代理(broker) mosquitto 的安装
我查阅到的大多数都是安装 mosquitto,有比较多的安装介绍,于是我就选择安装这个。
终端执行 brew install mosquitto 就能便捷安装。
显示安装成功后,需要修改一下配置文件。我查看的大多是文章介绍包括我自己的终端提示都说了默认配置文件 mosquitto.conf 在 /usr/local/etc/mosquitto 中。但我的对应的 /usr/local/etc 下根本没有 mosquitto 这个文件夹。这个问题困扰了我很久。终端显示的提示如下:
To have launchd start mosquitto now and restart at login: brew services start mosquitto Or, if you don't want/need a background service you can just run: mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf
最后终于在这个文章的启示下成功找到配置文件。【2】地址是usr/local/Cellar/mosquitto/1.5.8/etc/mosquitto。需要在配置文件 mosquitto.conf 中添加IP地址,如下图。默认 port 是1883。

启动 mosquitto 服务器
一般的操作是:
- 停止服务 brew services stop mosquitto
- 启动服务 brew services start mosquitto
但是我执行启动命令后报错了。在前面提到的文章的启示下,我找到可行的指令,如下(1.5.8是我所使用的 mosquitto 的最新版本,大家自行替换自己使用的版本):
cd /usr/local/Cellar/mosquitto/1.5./sbin
./mosquitto -c /usr/local/Cellar/mosquitto/1.5./etc/mosquitto/mosquitto.conf -d
成功后效果如下:

接着,你就可以运行你的 python 文件了。
参考资料
【1】https://pypi.org/project/paho-mqtt/#installation
【2】https://www.jianshu.com/p/a48598e9b76e (《Mac安装MQTT服务器》)
Python:Mac 下 MQTT 服务器 Mosquitto 的配置的更多相关文章
- Mac下Android studio 之NDK配置教程(一)
Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...
- MAC 下配置MQTT 服务器Mosquitto
一.简单介绍 1.MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制. 2.Mosquitto是一款实现了 MQTT v3.1 ...
- Mac下Apache服务器和webDav服务器快速配置
当自己在家敲代码需要发请求时,就可以配置本地Apache,Mac电脑自带的服务器.这个比windows上的本地服务器还要好用,下面写下最快速配置方案. 0.在开始之前需要给自己的电脑设置下开机密码,想 ...
- CentOS6.4下Git服务器Gitosis安装配置
1.安装GIt: #yum install git 2.增加一个git用户 #useradd git #passwd git 3.创建git仓库存储目录,设置权限 #mkdir /home/git/r ...
- [转]Mac下cocos2dx-3.2+Xcode环境配置和项目创建
原文:http://blog.csdn.net/u012200908/article/details/38070885 这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C+ ...
- Mac下Virtual Box Host-Only网络配置
Mac下的虚拟机其实有很多,Parallels.VMware Fusion.Virtual Box都不错,Parallels是目前试过感觉最好的,Fusion装64位系统驱动支持似乎不完善,而且混合模 ...
- MAC下用homebrew安装及配置apache、php和mysql
我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...
- mac下Android开发环境的配置
近似一天的时间,终于把Android环境配置好了. 总结:主要问题在于android的网站是国外,下载东西的时候需要vpn才可以.所以会出现各种各样的问题. 环境:Android Studio + S ...
- Ubuntu 16.04下Samba服务器搭建和配置(配截图)
一.相关介绍 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和 ...
随机推荐
- java:数据结构(二)栈的应用(进制转换全收集)
说到进制转换,java已经封装了基本的方法,在竞赛中使用封装的方法自然能节省大量时间 另一位仁兄介绍的封装好的方法: https://blog.csdn.net/m0_37961948/article ...
- 深入浅出ES6教程模块化
大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了Promise的用法,下面我们一起来继续学习模块化: JavaScript本身是不支持模块化的,只不过后来一些社区的大佬制定了 ...
- sql 上舍下舍運用
[四舍五入取整截取] select round(54.56,0) [向下取整截取] SELECT FLOOR(54.56) [向上取整截取] SELECT CEILING(13.15) --MS ...
- linux下的别名机制
相当于用户自己创建一个属于自己的命令.在当前用户的家目录下有一个.bashrc文件,编辑该文件: eg:alias cls='clear' 如果命令要生效需要重新登录.用户输入cls就可以达到清屏的目 ...
- Even Parity UVA - 11464 (枚举)
从来没有觉得枚举有多费脑子的.但是这道题还是很香的. 思路:就是非常简单的枚举啦. 从一般的枚举开始考虑.一般的做法就是在所有的格子中有两种状态1, 0. 而一共有225个格子,所有一共要枚举的情 ...
- FreeHttp (a fiddler add in to temper the http)
introduction FreeHttp is a Fiddler plugin. With FreeHttp you can modify the request or response mess ...
- button样式篇一(ant Design React)
这篇来介绍button中elementUi.iview.ant中样式结构 ant Design react ant-react中button分两个文件less: mixins.less:根据butto ...
- Springboot的static和templates区别
static和templates部分参考博客:https://blog.csdn.net/wangb_java/article/details/71775637 热部署参考博客:https://www ...
- linux 下ab压力测试
1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试 ...
- jexus上部署nuget私服vs访问403错误解决方式
因为vs去访问nuget项目的时候是以下面的方式去访问的 http://域名/nuget/Search()?$filter=IsLatestVersion&searchTerm=''& ...