【MQTT】EMQ初体验——在CentOS7上部署MQTT服务器
来源:互联网 发布:淘宝入门基础知识2017 编辑:程序博客网 时间:2024/06/05 03:22
前言
最近在忙一个物联网平台项目,领导大方地给了我一个阿里云的ECS,让我在随意在上面使用。
基本配置如下:
- CPU: 1核
- 内存: 1 GB
- 操作系统: CentOS 7.3 64位
之前一直使用Apache-Apollo作为MQTT服务器,深入摸索后发觉没有一些自己想要的功能。那么,接下来我打算尝试部署一下EMQ——百万级分布式开源物联网MQTT消息服务器。
这篇文章主要是讲解在该CentOS 7服务器上部署EMQ。
准备工作
由于emqttd是用Erlang语言编写的,所以,在Linux下安装时,需要先安装Erlang。
安装依赖库
sudo yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
获取源码包
wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
解压、编译、安装
tar xfvz otp_src_R13B04.tar.gzcd otp_src_R13B04/./configure --with-sslsudo make install
另外,由于博主部署EMQ是绕了很多弯路,最后才做以上工作,所以可能也不需要做这些就可以成功部署EMQ。
部署EMQ
官网提供了很多种部署方式,我之前尝试过「RPM包安装」,但是没有看到预期效果,所以下面是使用「Linux通用包安装」的步骤。博主验证此方式部署正常。
下载和安装
到这里获取Linux通用安装包:http://emqtt.com/docs/v2/install.html#linux
CentOS平台为例,下载安装过程:
unzip emqttd-centos7-v2.0.zip
控制台调试模式启动,检查 EMQ 是否可正常启动:
cd emqttd && ./bin/emqttd console
EMQ 消息服务器如启动正常,控制台输出:
starting emqttd on node 'emqttd@127.0.0.1'emqttd ctl is starting...[ok]emqttd hook is starting...[ok]emqttd router is starting...[ok]emqttd pubsub is starting...[ok]emqttd stats is starting...[ok]emqttd metrics is starting...[ok]emqttd pooler is starting...[ok]emqttd trace is starting...[ok]emqttd client manager is starting...[ok]emqttd session manager is starting...[ok]emqttd session supervisor is starting...[ok]emqttd wsclient supervisor is starting...[ok]emqttd broker is starting...[ok]emqttd alarm is starting...[ok]emqttd mod supervisor is starting...[ok]emqttd bridge supervisor is starting...[ok]emqttd access control is starting...[ok]emqttd system monitor is starting...[ok]dashboard:http listen on 0.0.0.0:18083 with 2 acceptors.mqtt:tcp listen on 0.0.0.0:1883 with 8 acceptors.mqtt:ssl listen on 0.0.0.0:8883 with 4 acceptors.mqtt:ws listen on 0.0.0.0:8083 with 4 acceptors.Erlang MQTT Broker 2.0 is running now
CTRL+c关闭控制台。守护进程模式启动:
./bin/emqttd start
Web管理后台
EMQ也和Apollo一样提供了Web管理后台,该后台作为一个插件实现,名称为「Dashboard」。EMQ启动后默认加载Dashboard插件。
访问后台
部署好EMQ之后,访问URL地址:http://localhost:18083
,缺省用户名/密码: admin/public
。
Dashboard插件可查询EMQ消息服务器基本信息、统计数据、度量数据,查询系统客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)。
Dashboard插件设置
可以打开.../emqttd/etc/plugins/emq_dashboard.conf
文件查看Dashboard插件的配置。
## HTTP Listenerdashboard.listener.http = 18083dashboard.listener.http.acceptors = 2dashboard.listener.http.max_clients = 512## HTTPS Listener## dashboard.listener.https = 18084## dashboard.listener.https.acceptors = 2## dashboard.listener.https.max_clients = 512## dashboard.listener.https.handshake_timeout = 15## dashboard.listener.https.certfile = etc/certs/cert.pem## dashboard.listener.https.keyfile = etc/certs/key.pem## dashboard.listener.https.cacertfile = etc/certs/cacert.pem## dashboard.listener.https.verify = verify_peer## dashboard.listener.https.fail_if_no_peer_cert = true
参考资料
- EMQ官方文档
- 【MQTT】EMQ初体验——在CentOS7上部署MQTT服务器
- MQTT学习——Centos7上安装Mosquitto和使用
- 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能
- 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能
- 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能
- EMQ (Erlang/Enterprise/Elastic MQTT Broker) - 百万级开源MQTT消息服务器
- 【MQTT】在Windows下搭建MQTT服务器
- 【MQTT】在Ubuntu下搭建MQTT服务器
- 【MQTT】在Windows下搭建MQTT服务器
- MQTT】在Windows下搭建MQTT服务器
- 【MQTT】在Windows下搭建MQTT服务器
- 【MQTT】在Windows下搭建MQTT服务器
- MQTT 初体验——mosquitto 的安装与使用
- 在MQTT服务器mosquitto上使用SSL/TSL
- MQTT 在 mac 上搭建
- MQTT——服务器搭建(一)
- MQTT——服务器搭建(一)
- MQTT 服务器
- HDU1157 Who's in the Middle
- 禁止滚动条滚动并且隐藏滚动条
- eclipse出现 Some characters cannot be mapped using "GBK" character encoding 错误代码的解决办法
- python之路——json模块
- Spring事务异常回滚,捕获异常不抛出就不会回滚
- 【MQTT】EMQ初体验——在CentOS7上部署MQTT服务器
- 大小端判断
- dojox/grid/EnhancedGrid数据格网小部件
- windows环境的eclipse创建hbase连接时报错处理
- Feign接口编写规范
- CENTOS 6 通过YUM升级GCC到4.7和4.8
- Java基础之static使用方法
- 各类员工入职引导 (应届生,编程经验老员工)
- 二叉排序树:HDU3791-二叉搜索树(用指针建立二叉排序树)