Centos7安装EMQX

下载 EMQX

到官网找到对应版本下载tar.gz包

下载好后 赋值到Centos7系统上

执行安装命令

mkdir -p emqx && tar -zxvf emqx-enterprise-5.10.0-el7-amd64.tar.gz -C emqx

启动

./emqx/bin/emqx start

验证服务运行状态

# 检查进程
ps aux | grep emqx

我这边是没有看到18083跟1883进程,说明可能被防火墙拦截了,那么我们要放开端口

检查防火墙是否放行

sudo firewall-cmd --list-ports | grep 18083  # CentOS/RHEL
sudo ufw status | grep 18083                 # Ubuntu/Debian

若未放行​:

sudo firewall-cmd --add-port=18083/tcp --permanent && sudo firewall-cmd --reload

sudo firewall-cmd --add-port=1883/tcp --permanent && sudo firewall-cmd --reload

此时,已经放行18083端口,打开dashboard看下是否能访问,默认账号密码 admin/public

### CentOS 7.9 上安装 EMQX 5.10 失败的解决方案 在 CentOS 7.9 上安装 EMQX 5.10 时,可能会遇到多种问题,例如依赖项缺失、版本不兼容或配置错误等。以下是针对常见问题的解决方法: #### 1. 检查系统依赖 EMQX 是基于 Erlang/OTP 的消息队列代理,因此需要确保 Erlang 环境正确安装。根据提供的引用内容[^1],可以手动安装 Erlang RPM 包。对于 CentOS 7.9,推荐使用以下命令安装最新版本的 Erlang: ```bash sudo yum install -y https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_24.3.4.1-1.centos.7.x86_64.rpm ``` 注意:Erlang 版本必须与 EMQX 兼容。EMQX 5.10 推荐使用 Erlang/OTP 24 或更高版本。 #### 2. 下载并安装 EMQX 从官方仓库下载 EMQX 5.10 的二进制包,并解压到指定目录: ```bash wget https://www.emqx.io/downloads/broker/v5.1.0/emqx-5.1.0-linux-amd64.tar.gz tar -zxf emqx-5.1.0-linux-amd64.tar.gz cd emqx ``` #### 3. 启动 EMQX 并检查日志 启动 EMQX 并查看日志以定位潜在问题: ```bash ./bin/emqx start tail -f log/erlang.log.1 ``` 如果启动失败,请检查日志文件中的错误信息。常见的错误包括: - **Erlang 版本不匹配**:请确认 Erlang/OTP 版本是否符合要求。 - **端口冲突**:默认情况下,EMQX 使用 1883 (MQTT) 和 8083 (WebSocket) 端口。确保这些端口未被占用。 - **权限问题**:尝试以 root 用户运行 `./bin/emqx start`。 #### 4. 配置防火墙规则 确保防火墙允许 EMQX 使用的端口: ```bash sudo firewall-cmd --add-port=1883/tcp --permanent sudo firewall-cmd --add-port=8083/tcp --permanent sudo firewall-cmd --reload ``` #### 5. 常见问题排查 - **错误信息:Failed to start beam.smp** 这通常是由于 Erlang 安装不完整或版本不兼容引起的。请重新安装正确的 Erlang 版本[^1]。 - **错误信息:No such file or directory** 可能是路径配置错误或文件丢失。请检查 EMQX安装路径是否正确。 - **错误信息:Address already in use** 表示某个端口已被占用。请使用 `netstat -tuln | grep <port>` 查看端口占用情况,并调整 EMQX 配置文件中的端口号。 #### 6. 更新系统库 有时,系统库过旧可能导致兼容性问题。建议更新系统软件包: ```bash sudo yum update -y ``` --- ### 示例代码:验证 Erlang 版本 以下脚本可用于验证当前系统的 Erlang 版本是否满足 EMQX 的要求: ```bash #!/bin/bash ERLANG_VERSION=$(erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell) REQUIRED_VERSION="24" if [[ "$ERLANG_VERSION" < "$REQUIRED_VERSION" ]]; then echo "Erlang version $ERLANG_VERSION is too old. EMQX requires at least OTP $REQUIRED_VERSION." exit 1 else echo "Erlang version $ERLANG_VERSION is compatible with EMQX." fi ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值