Linux安装ThingsPanel-go版本

来自ThingsPanel

硬件环境要求

  • CPU:1核
  • 内存:1G
  • 硬盘:大于10G
  • 带宽:大于2M

环境版本

Backend(代表后端代码根目录):Golang(Go 1.17.5)(下载地址:https://golang.google.cn/dl/)

   $ wget https://golang.google.cn/dl/go1.17.6.linux-amd64.tar.gz
   $ tar -C /usr/local -zxvf go1.17.6.linux-amd64.tar.gz
   $ vim /etc/profile
   将 export PATH=$PATH:/usr/local/go/bin 添加到文件底部
   $ source /etc/profile(让配置生效)
   $ go version(查看版本)

Frontend(代表前端代码根目录):Vue.js (node.js 16.13)(下载地址:https://nodejs.org/zh-cn/download/releases/)

   $ wget https://npm.taobao.org/mirrors/node/v16.13.2/node-v16.13.2-linux-x64.tar.xz(直接命令下载,没有wget的话,yum install wget)
   $ tar -xvf node-v16.13.2-linux-x64.tar.xz
   $ sudo mv ./node-v16.13.2-linux-x64 /usr/local/node
   $ sudo ln -s /usr/local/node/bin/node /usr/bin/node
   $ sudo ln -s /usr/local/node/bin/npm /usr/bin/npm

TSDB: PostgreSQL 14.1(下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads)

   $ cat /proc/version(查看服务器版本)
   $ yum install postgresql-server
   $ postgresql-setup --initdb(初始化数据库)
   $ systemctl enable postgresql.service
   $ systemctl start postgresql.service
   $ su postgres(进入数据库用户)
   $ psql(进入psql)
   $ alter user postgres with password 'postgres';(修改数据库密码为postgres,或者自定义密码)
   $ select name,setting from pg_settings where category='File Locations';(查看配置文件)
   修改postgresql.conf->listen_addresses = '*' 
   修改pg_hba.conf->增加 host    all             all             0.0.0.0/0               md5
   $ systemctl restart postgresql.service
   $ firewall-cmd --zone=public --add-port=1935/tcp --permanent(对外的端口后面自行开放)
   $ firewall-cmd --reload
   执行数据库脚本
  

MQTT Broker:GMQTT(下载地址:https://gitee.com/mirrors/Gmqtt.git)

配置启动项目步骤(安装好环境后)

1、执行命令建库并导入TP.sql脚本(Backend/Thingspanel-GO/TP.sql)

   在脚本目录下执行命令
   $ psql -d ThingsPanel -U postgres -f TP.sql postgres

2、GMQTT源码下载(使用git或者手动下载):https://gitee.com/mirrors/Gmqtt.git

   按照以下命令启动GMQTT服务(默认1883端口)
   $ cd gmqtt/cmd/gmqttd
   $ go run . start -c default_config.yml

3、下载后端源码(使用git或者手动下载):https://github.com/ThingsPanel/ThingsPanel-Go.git

   1)将GMQTT服务默认的端口配置到Backend/modules/dataservice/config.yml(mqtt客户端配置)
   2)在Backend/conf/app.conf中配置好数据库
   3)在Backend/main.go文件的目录下对go代码进行编译和运行
       $ go build
       $ go run ThingsPanel-Go

6、下载前端源码(使用git或者手动下载):https://github.com/ThingsPanel/ThingsPanel-Backend-Vue.git

   1)进入项目根目录Frontend/执行命令下载依赖
   
       $ npm install
   2)在根目录文件Frontend/.env.dev中配置后端地址
   3)运行项目(5000为临时指定端口,启动后浏览器http://127.0.0.1:8080进入登陆页面,默认账户和密码admin@protonmail.com)(命令后加 -- --port 8080 指定端口)
       $ npm run dev  

配置文件说明

Backend/conf/app.conf(服务端口、数据库等配置)

   #服务端口
   httpport = 9999
   #postgreSQL配置
   psqladdr = "127.0.0.1"
   psqlport = 5432
   psqldb = ThingsPanel
   psqluser = postgres
   psqlpass = postgres

Backend/modules/dataservice/config.yml(mqtt客户端配置)

   #GMQTT服务地址和端口
   broker: 127.0.0.1:1883
   #客户端id(随机字符串)
   clientid: adsfas154asdas54d6a13s1d3a
   user: guest
   pass: guest
   #mqtt客户端发布的主题
   topicToPublish: thingspanel.telemetry
   #mqtt客户端订阅的主题(传感器数据往GMQTT推送的主题)
   topicToSubscribe: thingspanel.operation

Frontend/.env.dev(前端配置文件)

   VUE_APP_BASE_URL = http://127.0.0.1:9999/
   VUE_APP_WEBSOCKET_URL = ws://127.0.0.1:9999/ws

插件说明

插件目录:Backend/extensions(请自行查看)