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
注意修改密码和新增用户
卸载
检查
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
显示残留状态 (如ic
或pc
) 并且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
移除防火墙配置和安全组配置
略