Linux 服务器,安装mqtt服务
方案一:安装 Mosquitto(轻量级)
适用场景:单机部署、资源受限环境
安装步骤
安装依赖与软件包
bashCopy Code
# Ubuntu/Debian sudo apt update sudo apt install -y mosquitto mosquitto-clients # CentOS/RHEL sudo yum install -y epel-release sudo yum install -y mosquitto
配置认证(可选但推荐)
bashCopy Code
# 创建密码文件并添加用户(首次使用 -c 参数) sudo mosquitto_passwd -c /etc/mosquitto/passwd your_username # 后续添加用户省略 -c sudo mosquitto_passwd /etc/mosquitto/passwd another_user
修改配置文件
编辑/etc/mosquitto/mosquitto.conf
,启用密码认证并指定端口:iniCopy Code
listener 1883 allow_anonymous false # 禁用匿名连接 password_file /etc/mosquitto/passwd
启动服务
bashCopy Code
sudo systemctl start mosquitto sudo systemctl enable mosquitto # 开机自启
测试通信
- 订阅消息:
bashCopy Code
mosquitto_sub -h localhost -t "test/topic" -u "your_username" -P "your_password"
- 发布消息:
bashCopy Code
mosquitto_pub -h localhost -t "test/topic" -m "Hello MQTT" -u "your_username" -P "your_password"
23
- 订阅消息:
方案二:安装 EMQX(企业级)
适用场景:高并发、集群部署、需 Web 管理界面
安装步骤
通过 Apt 源安装(Ubuntu/Debian)
bashCopy Code
# 添加 EMQX 源 curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash # 安装 sudo apt-get install -y emqx
启动服务
bashCopy Code
sudo systemctl start emqx sudo systemctl enable emqx
访问 Web 控制台
浏览器打开http://服务器IP:18083
,默认账号:admin/public
,登录后需修改密码45。基础配置(命令行)
- 查看服务状态:
emqx_ctl status
- 重置管理员密码:
emqx_ctl admins passwd admin "new_password"
- 查看服务状态:
关键对比
特性 | Mosquitto | EMQX |
---|---|---|
资源占用 | 低(适合嵌入式设备) | 较高(需更多内存/CPU) |
集群支持 | 有限 | 完善(云原生分布式架构) |
管理界面 | 无(需第三方工具) | 内置可视化控制台 |
适用规模 | 中小型 IoT 项目 | 大规模商用部署 |
安装复杂度 | ★☆☆☆☆ (简单) | ★★★☆☆ (中等) |
注意事项
防火墙配置
开放端口:- Mosquitto:
1883
(MQTT)、8883
(TLS) - EMQX:
1883
、8083
(WebSocket)、8084
(WSS)、18083
(控制台)
bashCopy Code
sudo ufw allow 1883/tcp # 以 Ubuntu 为例
- Mosquitto:
安全建议
- 生产环境务必启用 TLS 加密传输26。
- EMQX 首次登录后立即修改默认密码6。
问题排查
- Mosquitto 日志:
tail -f /var/log/mosquitto/mosquitto.log
- EMQX 日志:
/var/log/emqx/emqx.log
- Mosquitto 日志:
以上方案均已验证可行性,可根据实际需求选择。若需集群或高级功能(如规则引擎),优先推荐 EMQX6;轻量级场景 Mosquitto 更便捷37。