官方教程  :头痛的是nginx 和 mqtt布局有所冲突,后台不能使用需要调整,当然是用 nginx自家的布局没问题,但是要收费

1.由于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.gz
cd otp_src_R13B04/

/**************************此时开始到下面对接处****************************/

编译此时会出大问题,会提示没有java什么的,需要进行下面操作,

这里主要注意 APPLICATIONS DISABLED 部分的提示,其他两部分是不影响编译的。

jinterface : No Java compiler found 什么?没有java编译器?其实这里我们可以选择用gcc等其他方式来编译erlang。

如果你安装了gcc,这里就用不上java编译了,因此可以在configure时增加 –disable-javac 避免第二个错误;

odbc : ODBC library – link check failed  表示你未安装unixODBC库

好吧,想办法安装下unixODBC:

安装 ODBC

下载unixODBC源码包(http://www.unixodbc.org/unixODBC-2.2.1.tar.gz)放到某处比如/usr/local下,然后运行下述命令:

tar zxvf unixODBC-2.2..tar.gz

  cd unixODBC-2.2.

  ./configure --prefix=/usr/local/unixODBC-2.2. --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc --enable-gui=no

    make

    make install

紧接着会出现 checking for X... 
configure: error: Can't find X includes

解决方法:

./configure --x-includes=/usr/include/X11

后又出现

checking for X... configure: error: Can't find X libraries. Please check your installation and add the correct paths!

./configure --x-includes=/usr/include/X11 --x-libraries=/usr/lib/X11

/**************************回到最原来的地方****************************/

之后回过头cd到之前的otp_src_R13B04目录

执行

./configure --prefix=/home/erlang --without-javac

make

make install

上一步会出现(正常状况)

*********************************************************************
********************** APPLICATIONS DISABLED **********************
********************************************************************* jinterface : Java compiler disabled by user *********************************************************************
*********************************************************************
********************** APPLICATIONS INFORMATION *******************
********************************************************************* wx : wxWidgets not found, wx will NOT be usable *********************************************************************
*********************************************************************
********************** DOCUMENTATION INFORMATION ******************
********************************************************************* documentation :
xsltproc is missing.
fop is missing.
The documentation can not be built. *********************************************************************

虽然会等待一会,但是最终还是成功了,至少我的是成功了,哈哈

做个ln吧,你要是不想要就不用执行这个命令了.

ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl

设置环境变量以便下一步安装时使用(这个只是临时性的设置)

export PATH=$PATH:/usr/local/erlang/bin/

或者永久设置

编辑/etc/profile文件,然后在最下边加上

gedit /etc/profile

export PATH=$PATH:/usr/local/erlang/bin/

部署EMQ

下载和安装

到这里获取Linux通用安装包:http://emqtt.com/docs/v2/install.html#linux

unzip emqttd-centos7-v2..zip

控制台调试模式启动,检查 EMQ 是否可正常启动:

cd emqttd && ./bin/emqttd console

EMQ 消息服务器如启动正常,控制台输出:

alarm_handler: {set,{system_memory_high_watermark,[]}}
starting emqttd on node 'emq@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]
emqttd 2.3. is running now
Eshell V9. (abort with ^G)
(emq@127.0.0.1)> Load emq_mod_presence module successfully.
dashboard:http listen on 0.0.0.0: with acceptors.
mqtt:tcp listen on 127.0.0.1: with acceptors.
mqtt:tcp listen on 0.0.0.0: with acceptors.
mqtt:ws listen on 0.0.0.0: with acceptors.
mqtt:ssl listen on 0.0.0.0: with acceptors.
mqtt:wss listen on 0.0.0.0: with acceptors.
mqtt:api listen on 0.0.0.0: with acceptors.

CTRL+c关闭控制台。守护进程模式启动:

./bin/emqttd start

状态查询先进入目录

cd /home/emqttd/bin
emqttd_ctl status
http://localhost:8080/status

停止服务

emqttd stop

centos 7 部署 MQTT的更多相关文章

  1. CentOS 7部署flume

    CentOS 7部署flume 准备工作: 安装java并设置java环境变量,在`/etc/profile`中加入 export JAVA_HOME=/usr/java/jdk1.8.0_65 ex ...

  2. CentOS 7部署Kafka和Kafka集群

    CentOS 7部署Kafka和Kafka集群 注意事项 需要启动多个shell脚本交互客户端进行验证,运行中的客户端不要停止. 准备工作: 安装java并设置java环境变量,在`/etc/prof ...

  3. 在centos中部署jenkins

    在centos中部署jenkins,需要的环境:安装jdk,Apache-tomcat 这两步我前面文章里已写,再次忽略 到官网下载最新的jenkins 我这里的是  jenkins.war 把该文件 ...

  4. Centos 上部署 tomcat7

     在 Centos 上部署 tomcat7 搜索tomcat,选下面红色框框的官网 选箭头指着的版本7, 选 tar.gz 格式, 下载完压缩包,使用 ftpx 工具,放在 centos 的 /opt ...

  5. SSM 项目从搭建爬坑到 CentOS 服务器部署 - 速查手册

    SSM 项目从搭建爬坑到 CentOS 服务器部署 - 速查手册 提示: (1)CSDN 博客左边有操作工具条上有文章目录 (2)SSM 指 Spring,Spring MVC,MyBatis Mav ...

  6. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  7. Linux CentOS下部署Java Web项目

    本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...

  8. CentOS 7 部署 ASP.NET Core 应用程序

    原文:CentOS 7 部署 ASP.NET Core 应用程序 看了几篇大牛写的关于 Linux 部署 ASP.NET Core 程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大 ...

  9. 在CentOS上部署kubernetes1.9.0集群

    原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...

随机推荐

  1. 各类nosql db的功能与性能对比

    mongodb cassandra neo4j couchbase couchdb redis leveldb

  2. Effective Java 第三版——48. 谨慎使用流并行

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  3. Bash 中的特殊字符大全【转】

    Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好 ...

  4. 译:6.RabbitMQ Java Client 之 Remote procedure call (RPC,远程过程调用)

    在  译:2. RabbitMQ 之Work Queues (工作队列)  我们学习了如何使用工作队列在多个工作人员之间分配耗时的任务. 但是如果我们需要在远程计算机上运行一个函数并等待结果呢?嗯,这 ...

  5. windows下安装pycharm并连接Linux的python环境

    1. 下载安装Pycharm专业版 具体方法略.Pycharm5激活方法参考http://www.cnblogs.com/snsdzjlz320/p/7110186.html 2. 添加配置连接远程服 ...

  6. openfire接收离线消息

    先接收离线消息后再通知openfire上线 //获取离线消息 OfflineMessageManager offlineMessageManager=new OfflineMessageManager ...

  7. MyBatis源码分析-基础支持层反射模块Reflector/ReflectorFactory

    本文主要介绍MyBatis的反射模块是如何实现的. MyBatis 反射的核心类Reflector,下面我先说明它的构造函数和成员变量.具体方法下面详解. org.apache.ibatis.refl ...

  8. Kaggle 自行车租赁预测比赛项目实现

    作者:大树 更新时间:01.20 email:59888745@qq.com 数据处理,机器学习 回主目录:2017 年学习记录和总结 .caret, .dropup > .btn > . ...

  9. 【iCore3应用】基于iCore3双核心板的编码器应用实例

    简介 本硬件电路方案是针对集电极开路输出的编码器设计的.隔离前电压为5V,同时5V也是编码器的驱动电压,由外部供电:隔离后电压为3.3V,由核心板提供.隔离芯片采用3通道ADUM1300隔离芯片.因为 ...

  10. Swift 中函数使用指南

    关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才 ...