CentOS系统下离线部署EMQTT

CentOS系统下离线部署EMQX

前言

随着国产化的趋势,越来越多的中间件也要求国产化,EMQTT是国产化MQTT协议通讯的中间件。本篇详解EMQTT中间件的离线部署和使用。

1.EMQX下载

EMQX官网提供了历史版本下载的渠道,虽然隐藏了,但是还是可以找到历史版本下载的地址。EMQX历史版本下载
在历史版本页面,可以根据自己的需要和系统内核下载EMQX离线包。
注意:需要先确定自己的安装方式和自己的系统内核。本次安装通过tar.gz包进行部署。
在这里插入图片描述
如果服务器有外网,可以直接在服务器使用wget命令下载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启动命令时,发现emqtt启动时间过长,最后出现报错,那么需要查看emqtt的启动日志。
在这里插入图片描述
进入emqtt日志目录,查看日志信息:

#进入emqtt日志目录
cd /usr/local/emqtt/log
#查看日志文件
vi erlang.log.1

在这里插入图片描述
查看日志发现,缺少libatomic依赖项,缺少系统补丁。那么,需要安装系统补丁。
如果服务器有外网,可以直接通过yum下载系统补丁:

yum -y install libatomic

在这里插入图片描述

如果服务器没有外网,可以本地下载系统补丁,上传到服务器离线部署。参考另一篇博文:
Linux系统补丁离线安装

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官方部署文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值