一、 创建服务器集群
阿里云ecs服务器:ecs.console.aliyun.com/home
注意:需要选择CentOS操作系统,否则可能无法安装EMQX
二、 部署emqx服务
- 通过以下命令配置 EMQX Yum 源:
curl -s https://assets.emqx.com/scripts/install-emqx-rpm.sh | sudo bash
2. 安装以下依赖:
yum install epel-release -y
yum install -y openssl11 openssl11-devel
3. 安装EMQX:
sudo yum install emqx -y
4. 启动防火墙并开放端口
1883 MQTT 协议端口
8883 MQTT/SSL 端口
8083 MQTT/WebSocket 端口
8080 HTTP API 端口
18083 Dashboard 管理控制台端口
4370 Erlang 分布式传输端口
5370 集群 RPC 端口,适用于物理机环境
5369 集群 RPC 端口,适用于 Docker 环境
systemctl start firewalld
firewall-cmd --zone=public --add-port=1883/tcp --permanent
firewall-cmd --zone=public --add-port=8883/tcp --permanent
firewall-cmd --zone=public --add-port=8083/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=18083/tcp --permanent
firewall-cmd --zone=public --add-port=4370/tcp --permanent
sudo firewall-cmd --reload
注意:阿里云控制台的安全组也需要放开端口,否则无法访问服务
三、 搭建EMQX集群
- 修改配置文件emqx.conf
使用以下指令可以定位文件地址:
find / -name emqx.conf 2>/dev/null
vim /etc/emqx/emqx.conf
node.name XXX@后缀是内网IP
cluster.name需要和node.name前缀一致
2. 启动服务:
sudo systemctl start emqx
查看服务运行状态:
systemctl status emqx
访问18083端口可登录dashboard:
- 将服务加入集群:
emqx_ctl cluster join emqx@172.20.12.23
可将当前服务器(172.20.12.22)加入172.20.12.23的集群
离开集群:
emqx_ctl cluster leave
四、 客户端认证
有多种认证方式,这里主要介绍内置数据库认证和JWT认证。
- 内置数据库认证
使用EMQX内置的数据库储存用户名和密码,使用和管理都很方便
- JWT认证 JWT认证是基于 Token 的鉴权机制,不依赖服务端保留客户端的认证信息或者会话信息,在持有密钥的情况下可以批量签发认证信息,是最简便的认证方式。
登录jwt.io可以获取签名。将password设为该签名可登录。
- 参考:
- EMQX官方文档-安装EMQX:docs.emqx.com/zh/emqx/lat…
- EMQX官方文档-创建与管理集群:docs.emqx.com/zh/emqx/lat…
- CSDN-EMQX 单机及集群搭建:blog.csdn.net/m0_65819602…