快速部署
EMQX 支持通过 Apt 源安装,免除了用户需要手动处理依赖关系和更新软件包等的困扰,具有更加方便、安全和易用等优点。如希望通过 Apt 源安装 EMQX,可参考如下步骤。
- 通过以下命令配置 EMQX Apt 源
curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash
- 运行以下命令安装 EMQX
sudo apt-get install emqx
- 运行以下命令启动 EMQX
sudo systemctl start emqx
安装完成后可以访问IP:18083
线上部署
由于想要把前端项目部署到云服务器上,并且用域名(www.abc.com)访问。发现 https 无法访问 ws,(无法访问不安全的链接),所以要给 mqtt 服务器配置 ssl ,能够用 wss 或者 mqtts 访问,但是由于mqtt 服务器的服务器绑定域名为(www.efg.com),所以前端 访问又存在跨域的问题,所以要配置nginx代理。
配置SSL证书
参考:EMQX文档
生成证书
a. 运行以下命令生成密钥对,该命令随即会提示您输入密钥保护密码,后续在生成、签发、验证证书时均需要此密码。请妥善相关密钥及密码。
openssl genrsa -des3 -out rootCA.key 2048
b. 运行以下命令通过密钥对中的私有密钥生成 CA 证书,该命令随即会提示您设置证书的唯一标识名称 DN(Distinguished Name)。
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt
c. 使用 CA 证书来签发服务器证书,用于验证服务器所有者的身份,服务器证书通常颁发给主机名、服务器名称或域名(如 www.emqx.com, localhot)。我们需要 CA 密钥(rootCA.key)、CA 证书( rootCA.crt)和服务端 CSR (server.csr)生成服务器证书。
openssl genrsa -out server.key 2048
d. 运行以下命令使用 Server 密钥对制作 CSR。经 CA 根证书私钥签名后,CSR 可生成颁发给用户的证书公钥文件。该命令随即也会要求设置证书的唯一标识名称。
openssl req -new -key server.key -out server.csr
e. 使用 CSR 生成服务器证书,此时也可指定证书的有效天数,此处为 365 天:
openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 365
最终生成一组证书文件:
web端部署
配置Nginx代理
参考链接:https://blog.csdn.net/LuoHuaX/article/details/129278224