之前的两篇文章讲述了如何在Windows上使用ChirpStack搭建lora服务器,并使用ST的套件对接了私有lora服务器,完成了全链路搭建通信过程,但是Windows上的lora服务器只能用来测试,实际生产中需要将服务器部署到Linux云服务器上,有两个优点:
- 不容易挂掉(死机)
- 云服务器具有公网ip,可以配合域名使用;
关于云服务器的选择,由于本文使用Docker镜像部署,所以无论使用ubuntu还是centos,只要你安装了docker,就可以按照本文部署!
2. 安装Docker-ceChirpStack依赖软件较多,如下:
-
PostgreSQL:ChirpStack网络服务器将网关数据保存到 PostgreSQL数据库中,注意,需要PostgreSQL 9.5+;
-
Redis:ChirpStack网络服务器将所有暂时的数据存储到 Redis数据存储中,注意,至少需要Redis 2.6.0;
-
Mosquitto:ChirpStack网络服务器应用服务器使用MQTT协议通信;
如果这些环境挨个在Linux上部署的话,费时费力,后续卸载的时候也非常不方便,所以本文中讲述如何使用docker镜像部署。
Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机)、bare metal、OpenStack 集群、云端、数据中心和其他的基础应用平台。容器是完全使用沙箱机制,相互之间不会有任何接口。
在linux服务器上使用docker部署环境的优点如下:
- 构建容易分发简单
- 隔离应用解除依赖
- 快速部署测完就销
Docker有企业版和社区版,本节中讲述在64位的Ubuntu18.04的机器上安装Docker Engine-Community社区版本,即Docker-ce。
安装方法教程:Docker-ce最新版在Ubuntu18.04上的安装、更新、卸载方法(存储库方式)。
3. 安装 Docker Compose前提:docker是使用存储库方式安装的。
sudo apt-get install -y docker-compose
版本较旧,速度快。
安装
首先拉取ChirpStack代码到本地:
git clone https://github.com/brocaar/chirpstack-docker.git
进入目录后,这些文件作用如下:
- docker-compose.yml:docker运行脚本;
- docker-compose-env:docker环境变量设置脚本;
- configuration:每个软件的配置文件;
配置
进入目录:
cd chirpstack-docker
之前在Windows上配置lora服务器时,gateway-bridge、network-server、application-server三个服务器的配置有三个文件,很麻烦,但是在docker中,一些常用的配置选项只需要配置环境变量文件即可:
使用vim编辑该文件:
vim docker-compose-env.yml
两个常用的配置如下:
运行
在镜像目录下使用如下命令运行:
cd chirpstack-docker
sudo docker-compose up
注意:第一次执行的时候会打印一些error,不用管。
运行之后访问:http://<Linux服务器ip地址>:8080
即可看到ChirpStack的web界面。
配置启动服务之后,所有的操作和在Windows上一样,参考文章:
只有一点不一样,需要注意:
在Windows上添加网络服务器时,network-server地址填写的是localhost:8000
,如图:
但是在Linux上部署之后,因为使用的是docker部署,不能使用localhost访问,要填写为:
chirpstack-network-server:8000
特别注意!!!