4 Star 14 Fork 4

ThingsKit/ThingsKit物联网平台文档

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
jar.md 14.75 KB
一键复制 编辑 原始数据 按行查看 历史
风语孤独 提交于 2年前 . docs: 优化文档
langtitledescriptionoutline
zh-CNThingsKit Jar包部署指南ThingsKit物联网平台Jar包部署指南。deep

1.目录说明

部署包的目录和重要文件说明。

物联网平台服务端

scada.war:组态部署包(企业版)

web_server:物联网平台服务端

conf:配置文件夹

data: 数据目录文件

bin: ThingsKit物联网平台的管理脚本文件。例如:启动、停止、重启等。

linux.sh :linux操作系统的管理脚本

windows.bat:windows操作系统的管理脚本

web_ui.rar:物联网平台管理页面部署包

README.pdf:安装部署说明文档

2.前置条件

服务器配置

参考配置:[hingsKit运行环境要求]

软件

部署ThingsKit物联网平台之前,我们需要预先准备好相关的运行环境。环境清单如下:

序号 软件名称 版本要求 说明
1(必装) JDK(java) 11.0.12及以上 物联网平台服务端的运行命令
2(必装) golang 1.19及以上 物联网平台服务端加载器的编译命令
3(必装) postgresql 12.2及以上 物联网平台存储数据的数据库。
4(必装) nginx 1.23及以上 运行物联网平台管理页面和负责代理的Web服务器
5(必装) tomcat 8.5及以上 运行组态的Web服务器,如果不需要组态,可以不用安装
6(可选) minio 2021-07-12及以上 物联网平台存储图片的工具,影响图片上传功能。

端口

ThingsKit物联网平台使用的默认端口如下,我们可以根据自己实际情况调整。

序号 端口 端口说明
1 20638 数据库,postgresql
2 9000、9001 多媒体资源文件存储,minio
3 9527 物联网平台管理页面端口
4 8080 物联网平台服务端端口
5 9528 组态服务
6 1883 设备接入之MQTT协议
7 5683 设备接入之CoAP协议
8 8088 设备接入之TCP协议

3.部署物联网平台服务端

创建数据库

利用数据库管理工具(例如:navicat),远程连接数据库。执行命令创建数据库实例thingsKit



CREATE DATABASE "thingskit" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' TEMPLATE template0;

执行命令后生成数据库信息如下图:

image-20230516145229810

修改启动脚本文件

根据自生操作系统修改脚本文件内的环境变量,具体修改内容如下:

#################################
#########必须修改的配置内容#########
#################################

#基于部署包存放位置,填写对应的绝对路径
SET BASE=W:\_publish\web_server
#数据库配置信息
set SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:20638/thingskit
set SPRING_DATASOURCE_USERNAME=postgres
set SPRING_DATASOURCE_PASSWORD=thingskit






###################################
#########选择性修改的配置内容#########
###################################
set ZOOKEEPER_ENABLED=false
set CACHE_TYPE=caffeine
set TB_QUEUE_TYPE=in-memory
rem cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
set DATABASE_TS_TYPE=sql
set DATABASE_TS_LATEST_TYPE=sql

set MINIO_URL=http://localhost:9000
set MINIO_NAME=thingskit
set MINIO_PWD=thingskit
     
    
     
  • 配置的环境变量的值不能有空白字符。
  • 配置的环境变量的值不能有空白字符。
  • 配置的环境变量的值不能有空白字符。

如果出现空白字符,服务端启动的时候会卡死。无法访问。

启动ThingsKit物联网平台

进入部署包的脚本目录,如下图。

image-20230213151045738

脚本文件赋权(linux)

在执行脚本文件之前,需要赋予执行权限。

chmod +x linux.sh                #linux系统赋权

运行脚本文件

执行脚本文件会弹出对应的操作类型,例如:初始化数据库、启动应用、停止应用等。

    
#################################
#########windows操作新系统#########
#################################
windows
     
     
#################################
#########linux操作新系统#########
#################################
./linux
     

脚本:初始化数据库

windows效果图:

image-20230228155649807

linux效果图:

image-20230302164632460

脚本:运行物联网平台服务端

windwos效果图:

image-20230228160027741

linux效果图:

image-20230302164755011

启动结果验证

物联网平台服务端,默认端口为8080。部署成功后,访问localhost:8080/swagger-ui.html效果如图:

image-20230213151421603

4.部署物联网平台组态(可选,如果不需要组态可以跳过这一步)

组态设计器部署war包属于社区VIP权益,请到社区开通会员后下载:点击了解更多

部署war包

将组态的war包scada.war上传到tomcat的工作目录。

image-20230213151729823

重启Tomcat

部署包上传后,启动或重启Tomcat服务器。

启动结果验证

部署成功后,访问localhost:9528/scada,查看组态效果如下:

image-20230213171428936

5.部署物联网平台前端(管理入口)

前端部署包需要解压后,部署到nginx的工作目录。

修改nginx配置

将如下内容添加到nginx配置文件nginx.conf中。

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    client_max_body_size 50m;


    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    map $http_user_agent $samesite_attr {
        "~*chrome"	';Secure;SameSite=None';
    }

    #gzip  on;
    gzip on;
    gzip_min_length 500k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";
    
#    upstream thingskit{
#      server 127.0.0.1:8080;
#    }

    proxy_cache_path /usr/cache/nginx levels=1:2 keys_zone=thingskit:100m inactive=15d max_size=10g;
    server {
        listen       9527;
        server_name  localhost;
        charset utf-8;
        #access_log  logs/host.access.log  main;

        location / {
            root   /var/_workspace/web_ui;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        location /large-designer {
            alias   /var/_workspace/dataview;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
           # add_header Cache-Control "no cache,no store";
        }
		
	    location /api/ {
	        proxy_set_header Host $http_host;
            proxy_set_header X-Forward-For $remote_addr;
            proxy_pass  http://访问服务的IP或域名:8080/api/;
            proxy_ssl_server_name on;
        
	    }
        location /thingskit-scada/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Forward-For $remote_addr;
            proxy_pass  http://访问服务的IP或域名:9528/;
                      
        }
        location /thingskit-scada/js/ { 
		  proxy_cache thingskit;                     #缓存
		  proxy_cache_key $uri$is_args$args;   #缓存文件名生成算法
		  proxy_cache_min_uses 1;              #被访问多少次才缓存		  
		  proxy_cache_valid 200 304 12h;  #特定缓存时效:专指(h:小时,d:天)
		  expires 30d;                     #默认缓存时效:通用(h:小时,d:天)			
                  proxy_set_header Host $http_host;
                  proxy_set_header X-Forward-For $remote_addr;
		  proxy_redirect off;
		  proxy_pass  http://访问服务的IP或域名:9528/js/;
        }

        location /api/ws/ {
	       proxy_pass              http://访问服务的IP或域名:8080/api/ws/;
           #下面三行是重点
           proxy_http_version      1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_connect_timeout  5s;
           proxy_read_timeout  300s;
           proxy_send_timeout  300s;
       
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }



    # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  localhost;
        charset utf-8;

	   add_header X-Frame-Options ALLOWALL;
	
        ssl_certificate      /_makeFile/_cert/com.thingskit.pem;
        ssl_certificate_key  /_makeFile/_cert/com.thingskit.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   /var/_workspace/web_ui;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        location /large-designer {
            alias   /var/_workspace/data_view;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
           # add_header Cache-Control "no cache,no store";
        }
	location /api/ {
	    proxy_set_header Host $http_host;
            proxy_set_header X-Forward-For $remote_addr;
            proxy_pass  http://访问服务的IP或域名:8080/api/;
            proxy_ssl_server_name on;
        
	}
        location /thingskit-scada/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Forward-For $remote_addr;
            proxy_pass  http://访问服务的IP或域名:9528/;
                      
        }
        location /thingskit-scada/js/ { 
		  proxy_cache thingskit;                     #缓存
		  proxy_cache_key $uri$is_args$args;   #缓存文件名生成算法
		  proxy_cache_min_uses 1;              #被访问多少次才缓存		  
		  proxy_cache_valid 200 304 12h;  #特定缓存时效:专指(h:小时,d:天)
		  expires 30d;                     #默认缓存时效:通用(h:小时,d:天)			
                  proxy_set_header Host $http_host;
                  proxy_set_header X-Forward-For $remote_addr;
		  proxy_redirect off;
		  proxy_pass  http://访问服务的IP或域名:9528/js/;
        }

        location /api/ws/ {
	   proxy_pass              http://访问服务的IP或域名:8080/api/ws/;
           #下面三行是重点
           proxy_http_version      1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_connect_timeout  5s;
           proxy_read_timeout  300s;
           proxy_send_timeout  300s;
       
       }
#       location ^~ /openUrl/ {
#	  proxy_pass http://$arg_destip;
#       }
	
     }

}

部署包(可选):大屏设计器

将安装文件view.zip解压后,上传到服务器/var/_workspace/data_view目录。

部署包:管理界面

先将安装包dist.zip解压,上传到服务器/var/_workspace/web_ui目录。

解压后目录如图:

image-20230213152151331

修改前端配置文件

在前端配置文件web_ui/_app.config.js修改必要的配置参数。内容如下:

VITE_GLOB_API_URL                                               #服务端API访问地址
VITE_GLOB_UPLOAD_URL                                            #服务端资源上传访问地址
VITE_GLOB_WEB_SOCKET                                            #服务端实时数据访问地址
VITE_GLOB_CONTENT_SECURITY_POLICY                               #是否启用SSL证书
     

image-20230213151950460

重启nginx

部署包上传并修改配置文件后,启动或重启nginx。

启动结果验证

物联网平台管理端,默认端口为9527。

*注意

  1. 如果切换了配置文件中的邮箱后缀ACCOUNT_EMAIL_SUFFIX,需要同步修改数据库表tb_user中字段email的邮箱后最。
  2. 验证平台是否安装成功,推荐使用浏览器**firefox**。使用chrome浏览器内核的浏览器有概率出现http协议自动转https的情况。

部署成功后,访问登录与效果图如下:

地址:http://localhost:9527

登录账号:sysadmin

登录密码:Sysadmin@123

image-20230213152238401

6.了解更多

线上文档地址:https://docs.thingskit.com/guide/install/community-jar.html

社区VIP专区:https://community.thingskit.com/zone/vip.html

如果安装或使用遇到问题,请到社区提问:https://community.thingskit.com

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/thingskit/thingskit-docs.git
git@gitee.com:thingskit/thingskit-docs.git
thingskit
thingskit-docs
ThingsKit物联网平台文档
master

搜索帮助