在此我就不介绍emq了,传送门在此->EMQ
本人在编译是在ubuntu16环境下编译的,然后看到官网有windows下的编译过程,可以自己去看看->WINDOWS编译
然后再编译emq之前,那肯定要先配置下编译环境。
make
emq采用Makefile的方式编译,没有的话,直接 sudo apt-get install make
git
因为源码中,依赖了一些git下载命令,直接安装 sudo apt-get install git
erl
这个就更不用说啦,emq是用erlang语言开发的,这环境必须的呀。
sudo apt-get install erlang
安装完成,敲命令 erl 如果出现如下,那么就表示安装成功了:
附官网提供的各系统的安装命令
下载emq源码
用git命令,直接下载
git clone https://github.com/emqtt/emq-relx.git
当然,你也可以直接上github下载其他版本的压缩文件,然后上传到你的服务器上
比如我,就直接在服务器下载了:
wget https://codeload.github.com/emqtt/emq-relx/tar.gz/v2.3.9
下载完成之后,显示的是一个为v2.3.9的文件,直接改下名字就好了
mv v2.3.9 emq-v2.3.9.tar.gz
然后再进行解压操作,就是emq的源码了
tar -zxvf emq-v2.3.9.tar.gz
编译
OK,解压后,进入emq的文件夹,用ls命令,查看有如下文件
直接在这个目录下,使用make命令,就开始巴拉巴拉的编译过程了,可能会比较久一点,耐心等待。
最后显示如下,表示编译成功了。
然后文件夹里面会有一个“_rel”的文件夹,这个就是编译之后的文件目录,跟官网下载下来的内容是一样的,直接用这个部署也可以的。
问题记录
1、注意文件夹权限和拥有者问题,有一次编译出现如下错误
No Makefile to build dependency /usr/local/emq-relx-2.3.9/deps/goldrush
然后我删除之前解压之后的文件夹,重新解压放在ubuntu用户目录下,相同的操作,编译就OK了。
2、编译不通过
有时候编译不通过,报什么cc:not found等,是erlang的依赖问题,安装下以下依赖
# sudo apt-get install build-essential
# sudo apt-get install libncurses5-dev
# sudo apt-get install libssl-dev
# sudo apt-get install m4
# sudo apt-get install unixodbc unixodbc-dev
# sudo apt-get install freeglut3-dev libwxgtk2.8-dev
# sudo apt-get install xsltproc
# sudo apt-get install fop
# sudo apt-get install tk8.5