背景
第一次接触emqx的时候,使用的压缩包的安装方式,也没有禁用匿名方式,抗压能力比较脆弱,在升级的时候,尝试使用docker的方式部署,并禁用匿名,为以后进一步集群方式做准备。
具体安装配置步骤
1、拉取emqx镜像
执行命令:docker pull emqx/emqx
2、启动emqx容器
执行命令:
docker run -dit --name emqx
-p 18083:18083 -p 1883:1883
-p 8083:8083 -p 8084:8084
--restart=always emqx/emqx:latest
注意:--restart=always是保证服务器断电后重启时,该容器会自动重启
3、创建外挂的文件目录
执行命令:mkdir -p /home/docker/emqx/{etc,lib,data,log}
4、将相关文件挂载到目录下
执行命令:
docker cp emqx:/opt/emqx/etc /home/docker/emqx
docker cp emqx:/opt/emqx/lib /home/docker/emqx
docker cp emqx:/opt/emqx/data /home/docker/emqx
docker cp emqx:/opt/emqx/log /home/docker/emqx
5、修改挂载文件的权限
执行命令:
chown -R 1000:1000 /home/docker/emqx/
chmod -R 755 /home/docker/emqx/
6、停止emqx并删除该容器
执行命令:
docker stop emqx
docker rm emqx
7、emqx.conf匿名关闭
allow_anonymous = false
8、配置用户名和密码
修改etc/plugins/emqx_auth_mnesia.conf
##username 认证数据
auth.user.2.username = admin
auth.user.2.password = admin
9、开启插件Mnesia
登陆emqx的管理界面,在plugin中找到Mnesia插件,开启该插件
10、停止当前emqx容器并删除该容器
docker stop emqx
docker start emqx
11、重新运行emqx容器
docker run -dit --name emqx
-p 18083:18083 -p 1883:1883
-p 8083:8083 -p 8084:8084
-p 8081:8081 -p 8883:8883
-v /home/docker/emqx/etc:/opt/emqx/etc
-v /home/docker/emqx/lib:/opt/emqx/lib
-v /home/docker/emqx/data:/opt/emqx/data
-v /home/docker/emqx/log:/opt/emqx/log
--restart=always emqx/emqx:latest
12、修改管理界面的用户名和密码
docker exec -it emqx /bin/bash
./bin/emqx_ctl admins
emqx_ctl admins passwd admin admin@123
exit
注意:修改管理界面的用户名和密码后,需要重启一下容器,才会生效
至此,docker版的emqx安装、配置完成,当然,配置文件中还有可以调优的空间,暂时没有多大需求,等用到的时候再来更新这个文档