大家好,欢迎来到IT知识分享网。
CentOS系统下离线部署EMQX
前言
随着国产化的趋势,越来越多的中间件也要求国产化,EMQTT是国产化MQTT协议通讯的中间件。本篇详解EMQTT中间件的离线部署和使用。
1.EMQX下载
# 1创建一个文件夹存储emqtt mkdir /usr/local/emqtt # 2进入emqtt存储路径 cd mkdir /usr/local/emqtt # 下载emqtt wget https://www.emqx.com/zh/downloads/broker/5.6.1/emqx-5.6.1-el8-amd64.tar.gz
2.EMQX上传
如果服务器没有外网,则本地访问emqtt的历史版本下载页面,将emqtt的离线包下载到本地,然后通过SSH远程连接到服务器,先创建一个文件夹,将emqtt的离线包上传到服务器的目录下。
# 创建一个文件夹存储emqtt mkdir /usr/local/emqtt
2.EMQX解压
EMQX上传到服务器后,需要对tar.gz压缩包进行解压。
#进入EMQTT压缩包目录下 cd /usr/local/emqtt #解压EMQTT压缩包 tar -zxvf emqx-5.6.0-el8-amd64.tar.gz
3.EMQTT启动
EMQTT的tar.gz压缩包解压后,会生成/emqtt/bin目录,可以直接运行/bin目录下的程序,启动emqtt。(出现报错看第4步,没有报错看第5步)
#进入EMQTT解压目录下 cd /usr/local/emqtt/bin #启动emqtt ./emqx start
emqtt常用命令如下(需要进入自己解压目录/emqtt/bin下):
#启动emqtt ./emqx start #查看emqtt运行状态 ./emqx status #停止 emqtt ./emqx stop
4.EMQX报错解决办法
#进入emqtt日志目录 cd /usr/local/emqtt/log #查看日志文件 vi erlang.log.1
查看日志发现,缺少libatomic依赖项,缺少系统补丁。那么,需要安装系统补丁。
如果服务器有外网,可以直接通过yum下载系统补丁:
yum -y install libatomic
5.EMQX自启动
如果需要配置emqtt开机自启动,那么需要将emqtt添加到系统服务。
#进入/etc/rc.d/init.d目录下 cd /etc/rc.d/init.d #创建一个名为emqtt的文件,用于注册系统服务 touch emqtt #编辑emqtt自启动文件 vi emqtt
在自启动文件中填入下方内容:
#!/bin/sh # # emqttd # # Startup script for emqttd. # # chkconfig: 2345 90 10 # description: emqttd is mqtt broker. # # source function library . /etc/rc.d/init.d/functions export HOME=/root start() {
echo "starting emqttd..." #此处根据实际安装目录修改下面的路径为自己的安装路径 #/usr/local/emqtt是压缩包解压目录,&&后面接emqtt启动命令 cd /usr/local/emqtt && ./bin/emqx start } stop() {
echo "stopping emqttd..." #此处根据实际安装目录修改下面的路径为自己的安装路径 #/usr/local/emqtt是压缩包解压目录,&&后面接emqtt停止命令 cd /usr/local/emqtt && ./bin/emqx stop } restart() {
stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop}" RETVAL=2 esac
创建emqtt自启动文件后,需要将emqtt注册为系统服务:
# 1赋予脚本文件可执行权限 chmod +x /etc/init.d/emqtt # 2将emqtt添加到系统服务 chkconfig --add emqttd # 3查看 emqtt服务列表 chkconfig --list
将emqtt注册为系统服务之后,可以通过systemctl命令对emqtt进行管理:
#启动服务 systemctl start emqtt #停止服务 systemctl stop emqtt #重启服务 systemctl restart emqtt
6.访问EMQX页面
EMQX默认的端口是18083,因此需要开启防火墙端口,才能访问emqtt页面。
#需要先开启防火墙emqtt的默认端口18083 firewall-cmd --zone=public --add-port=18083/tcp --permanent #重启防火墙,使配置的端口生效 firewall-cmd --reload
通过本地浏览器访问emqtt的页面:http://服务器IP:18083
Emqtt默认账户密码是:admin/public
参考文档:
EMQTT官方部署文档
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112467.html







