应用部署服务器端配置(配套详细视频手册可按视频操作)

以下对在Linux、Mac、Windows(或任何JAVA项目可部署的系统)系统的硬件设备上(普通个人电脑或服务器)搭建TERSUS无代码应用项目运行服务器环境的操作进行说明

为了部署TERSUS无代码项目,服务器运行环境需要有以下几部分:

  • JRE8 (Java Runtime Environmnet)—Java运行环境软件
  • Apache Tomcat 7.0.X—支持Java程序的应用服务器,也叫Web服务器
  • 数据库服务器—HSQLDB\PostgreSQL\MySQL(大型商业数据库DBMS如Microsoft SQL Server\DB/2\Oracle在TERSUS商业数据库授权版本中支持)
  • TERSUS服务器(或叫服务器文件包)

项目运行的硬件服务器和以上软件运行环境准备好后,就可以将开发工具指向的项目文件夹中项目文件复制到服务器中,然后在配置文件中设定好相关信息就可以运行项目了。以下是在有一台硬件服务器(也可以是云服务器或任意一台电脑)时,从服务器运行环境安装设定到数据库到项目部署和运维全部的操作说明,这部分内容也可以TERSUS视频手册29-31部分的视频进行处理,有完整的操作演示

1、搭建TERSUS项目运行服务器

安装一个Java运行环境软件(JRE) 已测试的版本:8(&6)
  1. 点击进入Java SE官方下载页面
  2. 下载页面中找到Java Runtime Environment (JRE) 8unnn这部分
  3. 下载Server JRE
  4. 在线安装指导文档安装JRE
  5. 注意记下这个安装目录,我们叫它[JRE目录]
安装JavaMail 已测试的版本:1.6
  1. 点击进入JavaMail API官方下载页面
  2. 点击Download JavaMail Release链接
  3. 点击javax.mail.jar链接下载jar文件
  4. 复制下载的javax.mail.jar粘贴到[JRE目录]/lib/ext
安装Java Advanced Imaging (JAI) API(图片处理工具) 已测试的版本:1.1.2_01
  1. 点击进入Java Media APIs官方下载页面
  2. 点击Java Advanced Imaging链接
  3. 点击Java Advanced Imaging API 1.1.2_01链接
  4. 按自己服务器操作系统(Mac OSX使用Linux版本)点击CLASSPATH类型的安装文件下载链接
  5. 按受授权协议
  6. 点击下载按钮
  7. 需要时账号登录(使用Oracle产品需要一个注册账号)
  8. 解压文件或安装下载的程序,复制lib/目录下所有文件(包括JAR/DLL/SO等文件)粘贴到[JRE目录]/lib/ext
安装Apache Tomcat服务器程序 已测试的版本:7.0.x(&6)
  1. 点击进入Apache Tomcat 7官方下载页面
  2. 下拉页面到Binary Distributions -> Core部分
  3. Windows系统服务器用户请下载Windows Service Installer,其他系统用户应下载.tar.gz或.zip文件
  4. 可以查看Tomcat在线文档了解安装、运行、设置相关信息,需要记住此安装地址,我们叫它[Tomcat目录]
  • Windows特别说明:
    • 默认情形下,安装完成后会启动Tomcat服务并打开监控器(一个在电脑下部任务栏,在运行时显示绿三角,停止时显示为红方框的程序,也叫“Tomcat7 Properties”)
    • 如果要求服务器电脑重启或启动时自动运行Tomcat服务器程序,则需要进行以下处理:
      1. 双击打开任务栏Apache Tomcat监控器图标(Tomcat7 Properties)
      2. 在“General”栏下,设定“Startup”类型为“Automatic”,点击“OK”
      3. 检测一下Tomcat服务器是否安装成功的方式:在浏览器中输入http://localhost:8080,如果浏览器能打开Tomcat默认的首页(安装程序中的一个页面),就是安装成功
安装数据库服务器和数据库驱动文件

TERSUS开发的项目支持连接以下各类数据库。如果你不能确定安装哪类数据库,建议使用HSQLDB,这个数据库也是我们开发工具集成的用于本地运行项目时数据存放的数据库,它是纯Java的数据库,开源免费且很轻量级。部署这个数据库也很简单,复制粘贴一个jar文件就行(文件包括了数据库和驱动内容),同时也可以将开发工具本地浏览器测试的数据一并放到服务器中运行项目使用其中测试时的数据。
注意:

  1. 以下列出的数据库对应版本是我们测试过的,对应各数据库更新的版本虽然未测试但都应正常可用
  2. 允许不同的应用部署到同一台服务器使用同一个或多个不同类型的多个数据库,前提是你安装了多个数据库(可以安装在联网的不同电脑上)
  • HSQDB数据库服务器和驱动文件

    • 点击下载(同时也可以在TERSUS服务器文件包下的WEB-INF/lib/下也能找到一份)
    • 已测试的版本:2.0
    • 安装驱动文件的方式:解压下载的文件复制hsqldb/lib/hsqldb.jar并粘贴到[JRE目录]/lib/ext下或[Tomcat目录]/lib下即安装完成
  • PostgreSQL数据库服务器和驱动文件

    • 点击进入官方下载页面
    • 已测试的版本:8.3
    • 安装数据库:参考下载页面的安装指导说明进行安装
    • 下载驱动文件的方式:点击进入官方下载页面(同时也可以在TERSUS服务器文件包下的WEB-INF/lib/下找到一份)
    • 已测试的版本:8.1(更新的版本目前不支持)
    • 安装驱动文件的方式:复制下载的postgresql-8.1-[nnn].jdbc3.jar文件并粘贴到[JRE目录]/lib/ext下或[Tomcat目录]/lib下即安装完成
  • MySQL数据库服务器和驱动文件

    • 点击进入MySQL官方下载页面
    • 已测试的版本:5.0.X~8.0.X
    • 安装数据库:参考官方安装指导页面的说明进行安装,也可以参考我们视频手册进行安装
    • 下载驱动文件的方式:点击进入官方下载页面下载数据库驱动文件(MySQL Connector/J),对应的数据库安装程序中也有驱动可进行下载
    • 已测试的版本:3.1.8a至最新版
    • 安装驱动文件的方式:解压下载的Connector/J文件,复制其中的mysql-connector-java-3.1.8/mysql-connector-java-3.1.8-bin.jar文件并粘贴到[JRE目录]/lib/ext下或[Tomcat目录]/lib下即安装完成
    • 注意我们默认推荐MySQL5.6以配套简单的数据库管理工具“MySQL-Front”, 驱动文件名为“mysql-connector-java-5.1.34-bin”

安装TERSUS服务器文件包
  1. 在TERSUS下载页面下载文件包,注意服务器文件包应下载与项目开发所用的开发工具版本一致的版本的文件包
  2. 安装方式:将下载的文件包解压到一个空目录下(建议目录为/tersus-server,不要有空格),这个文件目录我们称为[TERSUS服务器目录]

    TERSUS服务器文件包中已设定使用TERSUS基本的权限管理模型,但如果应用不使用基本的权限管理逻辑块(比如不使用元件中的授权模块),应进行以下配置修改:

    • 1.重命名[TERSUS服务器目录]/WEB-INF/web.xml文件为[TERSUS服务器目录]/WEB-INF/web.xml.authenticated
    • 2.重命名[TERSUS服务器目录]/WEB-INF/web.xml.not_authenticated文件为[TERSUS服务器目录]/WEB-INF/web.xml
注意:
  • TERSUS提供了2个权限管理模板
    • 第一个是在可视化元件选项板中的Authorization模块元件,在模块元件组中,是使用在已新建的项目中的,这是基本类型的权限管理处理方式,意味着以上重命名处理不需要操作
    • 第二个是新建项目时选中的第一个项目模板(输入项目名称栏下的选框中),是通过新建项目引入的权限管理处理逻辑,这个不会触发基础类型的权限管理逻辑,所以应进行以上重命名设置
  • TERSUS服务器文件包允许解压复制为两个不同名的服务器文件包,这样可以在不同项目中使用以上两类不同的权限处理方式

2、部署发布TERSUS应用软件项目

当以上服务器环境项目安装完成设定好后,即可将开发工具项目文件夹中的一个或多个想要发布的项目文件夹都复制过来,再为各项目创建对应的服务器端配置文件就可以运行项目了。

复制已开发的项目文件到服务器环境
  • 开发工具中项目文件默认是在开发工具安装文件夹下的workspace文件夹中的
  • 在服务器电脑上创建一个项目文件放置的文件夹,可以直接在C盘或D盘放一个同名的workspace文件夹
  • 将以下文件从开发工具项目文件夹中复制粘贴到服务器电脑上创建好的项目文件夹中
    • .proejct
    • .timestamp
    • models/
    • web/(如果有这个文件一定复制过来,带前端用户界面的软件都需要这个文件,独立的服务器端处理程序软件不需要)
    • database/ (可选,如果服务器电脑的数据库也用HSQLDB,同时开发项目时本地测试的数据还想使用,就需要复制过来;注意复制前本地开发工个项目运行状态是停止运行的)
  • 注意:
    • 1. 可以用开发工具的文件-导出功能来将项目文件导出为文件包,也可以导出.tersus文件,这样只需复制一个文件到服务器电脑
    • 2. 有时服务器项目文件夹也可以直接指向开发工具文件夹,就是说可能用户的开发电脑上配置了服务器环境或是服务器上装了开发工具,这时直r接将开发项目文件夹指向为服务器项目文件夹,有可能导到运行中的项目被开发工具修改(但小的更新可以这样操作更方便)
创建项目服务器配置文件
  • 这个配置文件是一个.xml文件,是放置Tomcat服务器运行项目所需各类参数信息的
    • 以服务器域名或IP地址(如www.abc.com,文件名称必须为大写的ROOT)直接打开应用项目的配置文件,示例文件点击下载
    • 服务器域名或IP地址需加配置文件名称(如www.abc.com/test,test需为文件的名称)才能打开项目的示例文件点击下载
  • 创建这个文件可以直接下载我们示例文件,将具体项目对应的参数进行修改就行了,文件配置相关说明如下:
    • 配置文件的文件名称:这个名称是用来打开项目的地址名称,比如如果名称为test.xml,则项目部署到一个IP为XX.XX.XXX.XXX的服务器中时,正常运行后可以用http://XX.XX.XXX.XXX/test来打开项目,如需要IP地址直接打开,则文件名应为ROOT.xml(名称必须大写)
    • 设定TERSUS服务器文件包地址,如”C:/tersusserver”、”C:/tersus-server”、”C:/tersusserver232″等
    • 设定项目文件夹地址如“C:/workspace”
    • 项目文件夹名称,如test
    • 所连接的数据库相关信息:数据库地址、连接账号、密码
    • 除以上信息外,其他可以不去考虑,新项目部署时使用示例文件直接修改以上几个信息即可
  • 建议参考我们示例文件进行了解,开发手册中也有相关说明,请查开发手册“无代码开发手册”-“软件部署与服务器管理(3节)”一节说明
  • 如果项目中使用了TERSUS可视化的模块元件组中的权限管理模块,配置文件中应加入<Realm…/>属性定义,此部分内容我们通用的配置中是去掉的(比如我们提供的成熟框架就不需要这个,用的是另一方式设计的权限管理模块)

<Realm
className=”org.apache.catalina.realm.JDBCRealm”
debug=”0″
driverName=”org.hsqldb.jdbcDriver”
connectionURL=”jdbc:hsqldb:file://D:/workspace/Test/database/Te”
connectionName=”sa”
connectionPassword=””
userTable=”Users”
userRoleTable=”User_Roles”
userNameCol=”User_ID”
userCredCol=”Password”
roleNameCol=”Role”
/>

保存项目服务器配置文件

以上软件项目服务器端运行配置文件完成后,应存放到[Tomcat目录]/conf/Catalina/localhost/下

测试发布的项目
  • 1. 重启Tomcat服务器
  • 2. 在任意一台可连网此台服务器的电脑浏览器中输入http://ip地址/test来打开项目,测试是否显示开发的内容(注意设置Web端口80开放访问—云服务器一般在安全组中添加80端口允许访问)

3、运行管理和安全性考虑

为简单化操作,我们是按通用性的大家可理解的方式来完成安装和配置的,基础配置成功后,可以考虑对一些默认设置进行修改以提高运行效率和安全性

  • 设定启动HTTP信息压缩传输来提高Tomcat整体性能,这个处理现代浏览器都是支持的,处理方式如下:
    1. 用文本编辑工具或记事本工个打开 [Tomcat目录]/conf/server.xml
    2. 将HTTP连接端口8080中的设定修改为:
      <Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″ redirectPort=”8443″
      compression=”on|force” compressableMimeTypes=”text/html, text/xml,text/plain,text/javascript,text/css”
      compressionMinSize=”2048″ noCompressionUserAgents=”gozilla, traviata” />
    3. 保存server.xml并重新启动Tomcat服务器以对设定进行生效处理
  • 设定Tomcat运行的内存分配参数,应对初启时(-Xms)和最大的值(-Xmx)进行设定,同时对-XX:+CMSClassUnloadingEnabled设定来管理项目重启时的内存大小
    Windows系统中,这个设定是双击打开任务栏Apache Tomcat监控器图标来设定的
    Linux系统中,是用命令输入方式来设定的,用的是vmargs
    通常处理原则是,初启的内容应为1/4的服务器硬件物理内存;最大内容使用应为1/2的服务器硬件物理内存
  • Windows系统上,Tomcat的Tomcat管理页面只设定了账号,未设定密码,出于安全性考虑,应修改掉(某些版本无此默认管理页面,无需关注)
  • Tersus新建项目的第一个模板是带用户权限管理的项目。默认的最高管理员账号密码是Super,直接应用时需注意;同时我们提供的成熟框架项目默认最高管理员也是Admin或SuperAdmin,正式使用时应注意修改密码和账号,这些信息在开发文件的权限管理模块中,进入模块修改可视化常量元件的值即可

4、Windows系统下服务器简单操作指导

  • 可以简单化按以下8步完成服务器环境搭建及项目部署(实际主要是安装Tomcat7 JRE8u261 JAVA运行环境,请点击云盘下载对应的“Tomcat7 JRE8u261”下载安装文件):
    • 1、双击安装:JRE(文件名称为“jre-8u261-windows-x64.exe”),注意安装后的JRE安装目录,后面用到
    • 2、配置 “JavaMail API” (文件名称为“javax.mail-1.6.2.jar”),将这个文件下载后复制放入JRE安装目录下的 lib/ext 文件夹中
    • 3、双击安装或解压文件 “Java Advanced Imaging (JAI) API” (文件名称为“jai-1_1_2_01-lib-windows-i586.exe”)并将这个安装目录下的 lib 文件夹中的文件全部复制放入JRE安装目录下的 lib/ext 文件夹中
    • 4、双击安装 “Apache Tomcat” WEB服务器文件(文件名称为“apache-tomcat-7.0.105.exe”),安装过程中,将端口 “8080” 修改为 “80”,WEB类的项目都使用的是这个端口,并且80端口使用时默认地址栏是可以不输入端口信息的(如www.abc.com,不需要输入为www.abc.com:80)
    • 5、安装数据库连接驱动文件,如果是MySQL5.6数据库,可以双击安装 “mysql-connector-jave-gpl-5.12.34.msi”,同样将安装目录中 “mysql-connector-java-5.12.34” 中的 “mysql-connector-java-5.12.34-bin.jar” 文件复制放入JRE安装目录下的 lib/ext 文件夹中(如果安装不成功也没关系,直接下载我们分享的文件夹中MySQL下此名称的jar文件即可)
    • 6、下载我们的服务器端文件包,解压到C盘,注意名称不要留空,例:C:\\tersusserver ;(2.3.4版本不需要这一步) 接下来将安装目录中 “WEB-INF” 文件夹中的 “web.xml” 改名为 “web.xml.authenticated”,同时将 “web.xml.not_authenticated” 改名为 “web.xml”
    • 7、进入第4步处理的 Tomcat安装目录目录中 “conf/Catalina/localhost/” 文件夹,放置一个项目配置文件(上节内容),项目配置文件以项目名称命名;也可以将名称直接命名为 “ROOT”则连网时进用默认IP地址可直接打开;如果是其他名称如test.xml,打开地址应为: “http://IP地址/test”
    • 8、重启Tomcat服务,然后可以在服务器中的浏览器输入 “http://localhost/test” 查看项目

注意:内网测试时,输入http://localhost至服务器端的某个浏览器能启动TOMCAT的页面,即为TOMCAT运行正常;外网访问需要开启防火墙80端口打开或例外(和第4步的80设定也是同样道理),允许外部电脑连接80端口的服务;云服务器还需要注意是否云服务器的默认安全组规则设置,在规则中添加允许80端口访问