Skip to content

ubuntu安装单个EMQX和端口说明

流程

下载 .deb 包

bash
wget https://www.emqx.com/zh/downloads/broker/5.6.0/emqx-5.6.0-ubuntu20.04-amd64.deb

安装 .deb 包

bash
sudo dpkg -i emqx-*.deb

启动

bash
sudo systemctl start emqx
sudo systemctl enable emqx
sudo systemctl status emqx

访问

开放防火墙

bash
sudo ufw allow 1883/tcp   # MQTT
sudo ufw allow 8883/tcp   # MQTTS
sudo ufw allow 8083/tcp   # MQTT over WebSocket
sudo ufw allow 8084/tcp   # MQTT over WebSocket Secure
sudo ufw allow 18083/tcp  # Dashboard
# 如果有其他集群端口或 API 端口需要,也一并开放
# sudo ufw allow 4370/tcp   # EMQX 5.x 节点间 RPC 端口,如果使用集群
# sudo ufw allow 5370/tcp   # EMQX 5.x 节点间 Erlang 分布式端口,如果使用集群

sudo ufw enable # 如果 ufw 未启用
sudo ufw reload # 重载防火墙规则

开放安全组

访问

  • URL: http://<你的服务器IP或localhost>:18083
  • 默认用户名: admin
  • 默认密码: public

注意修改密码和新增用户

image-20250508102849051

卸载

检查

bash
sudo systemctl status emqx

停止

bash
sudo systemctl stop emqx

禁用自启

bash
sudo systemctl disable emqx

移除

bash
sudo apt purge -y emqx

//
sudo dpkg --purge emqx

验证

没有任何输出,表示 EMQX 包已被完全移除

bash
dpkg -l | grep emqx

处理 postrm 脚本错误

dpkg -l | grep emqx 显示残留状态 (如 icpc) 并且 purge 命令出错,执行以下操作

bash
# a. 备份并重命名 (或删除) 出问题的 postrm 脚本
#    该脚本通常位于 /var/lib/dpkg/info/emqx.postrm
sudo mv /var/lib/dpkg/info/emqx.postrm /var/lib/dpkg/info/emqx.postrm.disabled
echo "已尝试重命名 emqx.postrm 脚本 (如果存在)。"

# b. 再次执行 purge 命令
#    由于 postrm 脚本已被重命名,它不会再被执行,purge 操作应该能成功。
sudo apt purge -y emqx
# 或者
# sudo dpkg --purge emqx
echo "再次尝试 purge EMQX。"

# c. 再次检查 dpkg 状态
dpkg -l | grep emqx
# 此时应该没有任何输出了。

# d. 如果 purge 成功且 dpkg 列表为空,可以删除备份的脚本
if [ -f /var/lib/dpkg/info/emqx.postrm.disabled ]; then
    sudo rm /var/lib/dpkg/info/emqx.postrm.disabled
    echo "已删除备份的 emqx.postrm.disabled 脚本。"
fi

重新加载配置

bash
sudo systemctl daemon-reload

移除防火墙配置和安全组配置

EMQX端口

image-20250508154055118