页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 2 下一个 »

1  手册导读

1.1  手册中描述的工作

  (1)安装前的确认工作。

  (2)安装PostgreSQL。

  (3)安装Tomcat。

  (4)安装Node(npm)。

  (5)建立平台表空间。

  (6)导入平台数据库。

  (7)安装平台应用服务器。

  (8)安装中可能出现问题的解决方案。

  ( 9 )一键安装部署DWF。

       ( 10 )Docker方式安装部署DWF。

       ( 11 )安装maven环境

1.2  成功安装的结果

  (1)创建的数据库实例及对应的数据库监听程序可以正常运行。

  (2)部署DWF的前后端服务正常运行,可以通过浏览器访问。

1.3  手册中没有描述的工作

  (1)DWF二次开发环境的搭建。

  (2)DWF应用开发平台的数据备份。

  (3)DWF应用开发平台的系统备份。

  (4)DWF应用开发平台的恢复。

2  安装前的确认工作

2.1  硬件要求

  DWF应用开发平台对硬件要求如下。

使用设备

硬件配置

软件配置

备注

应用服务器1台

P43.2 GX2 /2GRAM /60GSCSI

ubuntu 18.04

建议独立采用服务器

数据库服务器

可单独采购或和应用服务器公用

PostgreSQL 9.4以上

建议独立采用服务器

  根据实际,可采用数据库服务器+应用服务器模式来部署。

2.2  浏览器要求

  DWF应用开发平台对浏览器要求如下。

  (1)Firefox/63.0。

  (2)Edge 44.17以上。

  (3)Chrome 70.0.3538.77。

2.3  操作系统要求

  DWF应用开发平台对操作系统要求如下。

  (1)LINUX(推荐的操作系统为Ubuntu 18.04.4 LTS) 。

  (2)JDK 1.8。

  (3)Node 10.16或者以上版本。

  (4)Python 3或者以上版本。

  (5)Tomcat 8 Web服务器或者以上版本。

  ( 6 )PostgreSQL 9.5数据库服务器或者以上版本。***本示例采用10.9

     ( 7 )maven3.5或者以上版本。

2.4  平台安装文件

  (1)2个后端服务相应Jar包。

  (2)3个前端服务相应War包(web文件夹)。

  (3)配置文件application.properties。

  (4)*.sql 平台数据源文件。

  (5)其他附属文件。

  安装文件及所在目录如下。***需单独邀请发送

序号

文件夹名

文件名

文件类型

说明

1

deployfiles

db-pure.sql

初始数据库


2

deployfilesapplication.properties配置文件

3

deployfiles

dwf-app-1.0-SNAPSHOT.jar

程序文件

App后台接口

4

deployfilesdwf-modeler-1.0-SNAPSHOT.jar程序文件Modeler后台接口

5

webmodeler-web程序文件建模端web页面程序

6

webapp-web程序文件应用端web页面程序

7

webhelps帮助手册

8

addinssinglenpm包超级控件依赖项

9

addinshandle.py编译脚本超级控件编译脚本

3  DWF服务器安装

  步骤如下:

  (1)安装JDK1.8。

  (2)安装Tomcat。

  (3)安装PostgreSQL,建立表空间和用户。

  (4)导入平台数据库。

  (5)安装Node(NPM)。

  (6)安装平台应用服务器。

  ( 7 )安装Maven。

3.1  JAVA安装

3.1.1 下载JDK安装包[示例jdk1.8.211]

  https://download.oracle.com/otn/java/jdk/8u211-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u211-linux-x64.tar.gz

3.1.2 解压安装jdk

  tar -zxvf jdk-8u211-linux-x64.tar.gz  (解压JDK安装文件)

  sudo mv jdk1.8.0_211 /opt/jdk1.8.0_211   (移动JDK安装程序到opt目录下)

3.1.3  配置JKD命令

       sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_211/bin/java 300
       sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_211/bin/javac 300
       sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_211/bin/jar 300
       sudo update-alternatives --install /usr/bin/javah javah /opt/jdk1.8.0_211/bin/javah 300
       sudo update-alternatives --install /usr/bin/javap javap /opt/jdk1.8.0_211/bin/javap 300

       sudo update-alternatives --install /usr/bin/jps jps /opt/jdk1.8.0_211/bin/jps 300
       sudo update-alternatives --config java

3.1.4  验证JDK

       java –version

3.2  Tomcat安装

  安装tomcat服务器作为前端服务器。

3.2.1 下载tomcat安装包

  

3.2.2 解压安装tomcat

  tar -zxvf apache-tomcat-9.0.34.tar.gz  (解压tomcat安装文件)

  sudo mv apache-tomcat-9.0.34/ /opt/apache-tomcat  (移动tomcat到opt目录下)

3.2.3 修改并启动服务器

       sudo sed -i 's/8080/8180/' /opt/apache-tomcat/conf/server.xml   (修改端口号为8180)

  /opt/apache-tomcat/bin/startup.sh  (启动tomcat)(关闭命令 /opt/apache-tomcat/bin/shutdown.sh)  

3.2.4 验证服务器

  在linux键入命令 ss -tnl 检查服务是否已启动,查看8180端口。

  在浏览器输入http://服务器IP:8180 ,比如: http://192.168.1.137:8180

3.3  PostgreSQL安装与创建实例

3.3.1 下载PostgreSQL压缩包

3.3.2 解压安装Postgres

  tar -zxvf pgsql.tar.gz   (解压postgres安装文件)

  sudo dpkg -i pgsql/*.deb (安装postgres数据库)

3.3.2 初始化服务

sudo -u postgres /usr/lib/postgresql/10/bin/psql -d postgres -w -c "ALTER USER postgres WITH SUPERUSER PASSWORD '123456'"
sudo -u postgres /usr/lib/postgresql/10/bin/psql -d postgres -w -c "CREATE DATABASE dataway OWNER postgres"

 


3.3.3 修改数据库配置

      sudo sed -i '$a listen_addresses = '\''*'\''' /opt/pgsql/data/postgresql.conf  (监听任何地址访问,修改连接权限)
      sudo sed -i "s#max_connections = 100#max_connections = 1000#g" /opt/pgsql/data/postgresql.conf    (修改最大连接数)
      sudo sed -i '$a host all all 0.0.0.0 0.0.0.0 md5' /opt/pgsql/data/pg_hba.conf (启用密码验证)

3.3.4 启动服务

  /opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l /opt/pgsql/logfile start   (启动PG)

3.3.5 验证服务启动

  在linux键入命令 ss -tnl 检查服务是否已启动 ,查看5432端口。

3.4  导入平台数据库

3.4.1 创建dwf用pg数据库用户与数据库

  /opt/pgsql/bin/psql -d postgres -w -c "CREATE USER postgres WITH SUPERUSER PASSWORD '123456'" (创建用户postgres,并允许使用密码123456登录)
       /opt/pgsql/bin/psql -d postgres -w -c "CREATE DATABASE dataway OWNER postgres"   (创建数据库dataway,并赋权给用户postgres)

3.4.2 导入dwf初始数据库表

       /opt/pgsql/bin/psql -d dataway < ~/db-pure.sql   (导入DWF初始化数据库)

反馈类似以下信息表示创建成功:

3.5  安装Node

3.5.1 下载Node安装包[示例Node10.16.1]

  https://nodejs.org/zh-cn/download/

3.5.2 解压安装node

       xz -d node-v10.16.0-linux-x64.tar.xz  (解压node安装文件)

  tar -xvf node-v10.16.0-linux-x64.tar (解压node安装文件)

  sudo mv node-v10.16.0-linux-x64 /opt/node10.16 (移动node到opt目录)

3.5.3  配置node(npm)命令

       sudo update-alternatives --install /usr/bin/node node /opt/node10.16/bin/node 300
       sudo update-alternatives --install /usr/bin/npm npm /opt/node10.16/bin/npm 300

3.5.4  验证node

      node -v

      npm -v

3.6  安装平台应用服务器

3.6.1 上传平台搭建所需文件:

      sudo mv deployfiles /opt/dwf3.0-deploy (移动dwf安装文件到opt下)

3.6.2 将war包移动到tomcat下

       cd /opt/dwf3.0-deploy/web/ (跳转至dwf安装文件夹)

       mv modeler-web /opt/apache-tomcat/webapps/ (移动modeler-web到tomcat下)

       mv app-web /opt/apache-tomcat/webapps/  (移动app-web到tomcat下)

       mv helps /opt/apache-tomcat/webapps/  (移动帮助手册到tomcat下)

       mkdir -p /opt/apache-tomcat/webapps/code  (在tomcat下创建超级控件保存代码文件夹)

3.6.3 修改配置文件application.properties内容

  vim application.properties   [各段用途参考:配置文件的格式说明]

spring.jpa.hibernate.ddl-auto=update
datasource.ip=127.0.0.1
datasource.port=5432
datasource.database=dataway
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/dataway?autosave=conservative
spring.datasource.username=postgres
spring.datasource.password=123456

spring.mvc.throw-exception-if-no-handler-found=true
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.servlet.multipart.max-file-size=1000MB
spring.servlet.multipart.max-request-size=1000MB
spring.jackson.default-property-inclusion=non_null

# log
logging.level.io.swagger.models.parameters : ERROR
logging.config=classpath:logback-spring.xml
logHome=/opt/dwf3.0-deploy/log
scriptLogPrefix=script
print-rest-invoke-log=true

# swagger host配置
swagger.host.app=
swagger.host.modeler=
swagger.host.monitor=

# Custom properties
admin.name=admin
modeller.name=modeller
admin.password=123456
modeller.password=123456

# auth
auth.provider=edu.thss.platform.security.jwt.JwtAuthenticationProvider
auth.tokenprocessor=edu.thss.platform.security.jwt.JwtTokenProcessorImpl
#auth.provider=edu.thss.platform.security.tianyuan.TianYuanAuthenticationProvider
#auth.tokenprocessor=edu.thss.platform.security.tianyuan.TianYuanTokenProcessorImpl
auth.params.username=username
auth.params.password=password

port=5432
password=123456
host=127.0.0.1
dbName=dataway
userName=postgres
addinPath=/opt/dwf3.0-deploy/dwf_sdk/assemble/addins
staticPrefix=http://127.0.0.1:8180/static
staticPath=/opt/dwf3.0-deploy/static
tomcatPath=/opt/apache-tomcat
shPath=/opt/dwf3.0-deploy/dwf_sdk/assemble/addins/server.py
logPath=/opt/dwf3.0-deploy
ipList="localhost;127.0.0.1;127.0.1.1;dwf;192.168.10.81;192.168.10.92"
codePath=/opt/apache-tomcat/webapps/code
nodePath=/opt/dwf3.0-deploy/dwf_sdk/assemble/addins/single
scriptPath=/opt/dwf3.0-deploy/dwf_sdk/assemble/addins/handle.py
partPath=/opt/dwf3.0-deploy/dwf_sdk/parts
sdkPath=/opt/dwf3.0-deploy/dwf_sdk/sdk
assembleLogPath=/opt/dwf3.0-deploy/dwf_sdk/assemble/log
tmpPath=/opt/dwf3.0-deploy/_tmp

#local file data model plugin
data-model.plugin.repository.path=/opt/dwf3.0-deploy/file-repository
data-model.plugin.iotdb.ip=127.0.0.1
data-model.plugin.iotdb.port=6667
data-model.plugin.iotdb.username=root
data-model.plugin.iotdb.password=root

# external configs (should start with "external.appConfig.")
external.appConfig.demoKey=demoValue
external.appConfig.demoKey.with.dots=value
external.appConfig.maxFileSizeKb=512000
external.appConfig.roleGroup=

#-----------------------------------------------
# Cloud iBPM build time data storage (repository).
# Configuration: MySQL
# jdbc driver package installed.
db.product=Postgresql
db.jdbc.driverClassName=org.postgresql.Driver
# local host
# 初始化数据库连接为2
db.jdbc.initialSize=10
# 超时等待时间以毫秒为单位 60000毫秒/1000等于60秒
db.jdbc.maxWait=10000
# 最大连接数量
db.jdbc.maxActive=10
# 最大空闲连接数
db.jdbc.maxIdle=10
# 最小空闲连接数
db.jdbc.minIdle=3
# 是否在自动回收超时连接的时候打印连接的超时错误
db.jdbc.logAbandoned=true
# 是否自动回收超时连接
db.jdbc.removeAbandoned=true
# 超时时间(以秒数为单位)
db.jdbc.removeAbandonedTimeout=10
db.jdbc.poolPreparedStatements=true
db.jdbc.testOnBorrow=true
# db.jdbc.validationQuery=SELECT 1 FROM DUAL
db.jdbc.validationQuery=select version()

# Cloud iBPM file storage.
# win: files are stored in hard disk on Windows server;
# linux: files are stored in hard disk on Linux server;
# amazon: files are stored on AWS S3;
# ali: files are stored on Ali cloud;
filestorage.type=win
# if storage type is win, files will be stored in C:/CloudiBPM/ by default;
# if storage type is linux, files will be stored in /var/www/CloudiBPM/ by default;
# if storage type is amazon, files will be stored in a bucket CloudiBPM/ on S3 by default;
# if storage type is ali, files will be stored in ???? by default;
linux.filestorage.lib=/home/cdh/xq/org
windows.filestorage.lib=D:/data/org
aliyun.filestorage.lib=S3
# external name list, format: extnames=jar;rar;zip;war; etc.
extnames=jar;properties;xml;txt;

#----------------------------------------
# administrator company ID, e.g., Xuan QI Company ID
admin.corp.id=00000000000001R

#----------------------------------------
# server entity ID cache
server.cache.entityId.size=200
server.cache.entityCode.size=10
server.cache.entityVersion.size=5
# server log pool cache
server.cache.log.batchSave.size=1

#-----------------------------------------
# File server info
#file.server.domainname=http://localhost:8080/file/
file.server.domainname=http://101.200.154.42:8080/file/
# API server info
api.server.domainname=http://192.168.1.81:6060
#api.server.domainname=http://localhost:6060
#api.server.domainname=http://localhost:8088/api/

# 1: standalone;
# 2: private cloud;
# 3: public cloud;
xq.product.pversion=1

# auth
dwf.cache.org.tree = false

3.6.4 创建服务启动脚本start.sh并执行

  vi start.sh

  复制以下内容

#!/bin/bash
#在安装时的用户权限下执行,不要在root权限下执行!
#安装目录
Tomcat_INSTALL_DIR="/opt/apache-tomcat"
DWF_INSTALL_DIR="/opt/dwf3.0-deploy"

tomcat_process=`ps -ef |grep -w tomcat|grep -v grep|wc -l`
if [ "$tomcat_process" -ne "0" ];
then
echo "Tomcat服务已经启动"
else
#启动tomcat
sudo nohup ${Tomcat_INSTALL_DIR}/bin/startup.sh &
fi

pg_process=`ps -ef |grep -w postgres|grep -v grep|wc -l`
if [ "$pg_process" -ne "0" ];
then
echo "Postgres服务已经启动"
else
#启动postgres
sudo -u postgres /usr/lib/postgresql/10/bin/pg_ctl restart -D /var/lib/postgresql/10/main
fi

#停止DWF并重启
cd ${DWF_INSTALL_DIR}

monitor_process=`ps -ef |grep -w dwf-monitor|grep -v grep|wc -l`
if [ "$monitor_process" -ne "0" ];
then
ps aux | grep "dwf-monitor" | grep -v "grep" | awk '{print $2}' | xargs kill -9
else
echo "当前环境无dwf-monitor运行;正在启动dwf-monitor..."
fi
nohup java -Dlogging.file=${DWF_INSTALL_DIR}/dwf-monitor.log -jar ${DWF_INSTALL_DIR}/*dwf-monitor*.jar --server.port=7070 --spring.config.location=${DWF_INSTALL_DIR}/application.properties > /dev/null 2>&1 &

modeler_process=`ps -ef |grep -w dwf-modeler|grep -v grep|wc -l`
if [ "$modeler_process" -ne "0" ];
then
ps aux | grep "dwf-modeler" | grep -v "grep" | awk '{print $2}' | xargs kill -9
else
echo "当前环境无dwf-modeler;正在启动dwf-modeler..."
fi
nohup java -Dlogging.file=${DWF_INSTALL_DIR}/dwf-modeler.log -jar ${DWF_INSTALL_DIR}/*dwf-modeler*.jar --server.port=6060 --spring.config.location=${DWF_INSTALL_DIR}/application.properties > /dev/null 2>&1 &

app_process=`ps -ef |grep -w dwf-app|grep -v grep|wc -l`
if [ "$app_process" -ne "0" ];
then
ps aux | grep "dwf-app" | grep -v "grep" | awk '{print $2}' | xargs kill -9
else
echo "当前环境无dwf-app运行;正在启动dwf-app..."
fi
nohup java -Dlogging.file=${DWF_INSTALL_DIR}/dwf-app.log -jar ${DWF_INSTALL_DIR}/*dwf-app*.jar --server.port=9090 --spring.config.location=${DWF_INSTALL_DIR}/application.properties > /dev/null 2>&1 &


echo "DWF服务重启完毕!请通过以下方式访问:http://IP地址:8180/modeler-web"

执行启动脚本

chmod 755 start.sh

./start.sh

3.7 安装Maven

3.5.1 下载Maven安装包[示例Maven3.6.3]

  http://maven.apache.org/download.cgi

3.5.2 解压安装maven

  tar -zxvf apache-maven-3.6.3-bin.tar.gz (解压maven安装文件)

  mv apache-maven-3.6.3 /opt/maven3.6.3 (移动maven到opt目录)

3.5.3  配置mvn命令[已添加环境变量]

       sudo vim /etc/profile

添加以下内容:

export M2_HOME=/opt/maven3.6.3
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin

       source /ets/profile

3.5.4  验证maven

      mvn -v

4  成功安装后

4.1  验证

  Restful服务的正常启动。

  Web地址:http:[IP]:[Port]/swagger-ui.html

  例如:   (模型后端)http://192.168.1.137:6060/swagger-ui.html

     (对象后端)http://192.168.1.137:9090/swagger-ui.html

       Web服务的正常启动。

http://192.168.1.137:8180/modeler-web

http://192.168.1.137:8180/app-web

4.2  Modeler简介

  Web地址:http:[IP]:[Port]/modeler-web

  例如: http://192.168.1.137:8180/modeler-web

  简要说明:modeler-web是建模工具,提供组织模型、数据模型、表单模型、功能模型和权限模型等模型的编辑能力。

4.3  App for PC简介

  Web地址:http:[IP]:[Port]/app-web

  例如:http://192.168.1.137:8180/app-web

  简要说明:app-web是在PC端提供解释模型的应用支撑引擎,包括:认证引擎,对象管理框架,表单引擎,主界面引擎和规则引擎等。

4.4  平台系统主界面说明

  modeler-web: http://192.168.1.137:8180/modeler-web

  app-web: http://192.168.1.137:8180/app-web

5  其它

5.1  服务分布部署的几种方案建议


5.2  数据库定期备份说明


5.3  可能的问题与解决

问题现象

可能原因

解决方案







5.4  一键部署脚本

  为方便用户快速安装,系统包含一键部署脚本。用户仅需准备刚刚安装完毕Ubuntu 18.04的裸系统,设置IP和添加用户dwfF即可。

  Step1:通过以下连接下载stetup.sh、setupfiles.tar.gz文件。需单独邀请发送

  Step2:将以上两个文件上传到新安装的服务器。

  Step3:变更setup.sh文件为可执行。并运行./setup.sh。

以上脚本成功运行后就会创建新的DWF应用平台。

 

  用户可按照以下方式进行验证:

  Modeler相关服务:

  前端服务Web地址 : http://[IP]:8180/modeler-web

  后端接口Swagger地址 : http://[IP]:6060/swagger-ui.html

  app相关服务:

  前端服务Web地址 : http://[IP]:8180/app-web

  后端接口Swagger地址 : http://[IP]:9090/swagger-ui.html

  以上验证通过即可正常使用。

5.5  Docker方式部署

  为方便用户在同一服务器快速安装,并隔绝与其他已安装服务之间相互影响,系统提供使用Docker Image方式部署。用户仅需准备服务器内Docker环境即可。

参考子页面:[DWF3.0-Docker部署]

  • 无标签