Bootstrap

mqtt服务器 emqx

安装docker

docker:为服务提供的虚拟环境,是创建容器的工具,是应用容器引擎

docker 安装参考

sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

docker操作

docker images罗列所有镜像
docker rmi -f <镜像ID>:(TAG ID)删除镜像
docker load < rocketmq.tar载入镜像
docker export <容器 ID> > 镜像名.tar导出镜像
docker ps罗列运行容器
docker ps -a罗列所有容器包含未运行
docker stop <容器 ID>停止容器
docker restart <容器 ID>重启容器
docker exec -it <容器 ID> /bin/sh进入容器
exit退出容器

emq安装

emq 安装参考
emq:是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器

获取emq

#获取emq镜像
$ wget -O emqx-docker.zip https://www.emqx.io/downloads/broker/v4.0.0/emqx-docker-v4.0.0-alpine3.10-amd64.zip
#解压镜像
$ unzip emqx-docker.zip
#查看镜像
ls 
---------
emqx-docker-v4.0.0-alpine3.10-amd64
# 导入容器
$ docker load < emqx-docker-v4.0.0-alpine3.10-amd64

启动 docker 容器(即创建容器只需要执行一次)

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v4.0.0-alpine3.10-amd64

查看容器运行状态

docker ps -a
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                       PORTS               NAMES
6c59d6fa1ac5        emqx/emqx:v4.0.0-alpine3.10-amd64   "/usr/bin/docker-ent…"   15 minutes ago      Exited (137) 6 minutes ago                       emqx

停止容器

docker stop  <容器 ID>
docker stop 6c59d6fa1ac5
---------------------------------
6c59d6fa1ac5

重启容器

docker restart <容器 ID>
docker restart 6c59d6fa1ac5
---------------------------------
6c59d6fa1ac5

验证emq服务器

浏览器输入 http://192.168.1.101:18083/
账户:admin
密码:publish

emq 添加用户名、密码认证

  • 配置插件
docker exec -it 6c59d6fa1ac5 /bin/sh //进入容器
cd ./etc
vi emqx.conf
allow_anonymous = false //关闭匿名
acl_nomatch = deny      ACL规则设置

  • 启动插件
  1. 在emq插件管理页面使能 emqx_auth_username插件
  2. 命令行启动插件
cd /usr/local/bin/
./emqx_ctl plugins load emqx_auth_username  //命令行启动插件
  • 添加用户名和密码
cd /usr/local/bin/
./emqx_ctl plugins load emqx_auth_username  //命令行启动插件
./emqx_ctl users add admin 12345678 //添加用户名及密码
./emqx_ctl users list //查看用户名列表
 ./emqx_ctl users del admin //删除用户名
  • emq认证
插件说明
emq_auth_clientidClientId 认证/鉴权插件
emq_auth_username用户名密码认证/鉴权插件
emq_auth_ldapLDAP 认证/鉴权插件
emq_auth_httpHTTP 认证/鉴权插件
emq_auth_mysqlMySQ L认证/鉴权插件
emq_auth_pgsqlPostgre 认证/鉴权插件
emq_auth_redisRedis 认证/鉴权插件
emq_auth_mongoMongoDB 认证/鉴权插件

安装 Node-RED

Node-RED 安装参考
Node-RED:可视化物联网编排工具

获取Node-RED

docker run -it -p 1880:1880 --name mynodered nodered/node-red

查看容器运行状态

docker ps -a
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                       PORTS               NAMES
acb37c101674        nodered/node-red                    "npm --no-update-not…"   43 hours ago        Exited (0) 43 hours ago                          mynodered

重启容器

docker restart <容器 ID>
docker restart acb37c101674
---------------------------------
acb37c101674

验证Node-RED服务器

浏览器输入 http://192.168.1.101:1880/

;