版本:

1. 概述

1.1 版本

V11.0.4

1.2 应用场景

工程部署到 Tomcat 中,需要安装 Tomcat 、JDK,对于新手用户来说有些麻烦。

我们整合了包含工程和环境配置的 Web 容器,支持直接在相应系统中部署启动,无需配置环境。

1.3 功能简介

本文介绍在 Linux 系统中使用 Tomcat 部署包的方法。

注:相比于传统部署架构,容器化部署具有隔离性、可移植性、灵活性、可伸缩性和可控性等优点,可大幅降低企业的维护成本和资源成本。

       推荐使用更具优势的容器化部署方案:部署新项目-FineReport

2. 操作步骤

2.1 环境准备

请参考 工程部署推荐环境及配置 文档,准备相关环境。

注:不支持在 32 位操作系统上安装。

2.2 下载部署包

1)帆软提供 Linux X86 和 Linux ARM 类型的部署包,用户下载部署包前需使用uname -m确认系统架构是否符合安装要求,如下图所示:

2)点击跳转至服务器部署包下载地址:服务器部署包 

3)在「其他下载>服务器部署版」下,根据自身系统,选择下载对应版本的服务器部署包。如下图所示:

4)下载完成后上传到 Linux 系统里,如下图所示:

注1:本文示例上传到/home/wendy路径下,即为下文的部署包所在目录,用户可自行调整。

注2:示例使用 FTP 工具,也可使用其他文件传输工具。

1615167956898650.png

2.3 解压部署包

1)进入上传部署包所在目录(根据目录自行修改)

cd /home/wendy

2)解压部署包(根据压缩包名称自行修改)

tar -zxvf tomcat-linux-x64.tar.gz

3)重命名 Tomcat 文件夹(自行修改,本文修改为tomcat)
mv tomcat-linux-x64 tomcat

2.4 工程迁移(选做)

用户若想保留之前本地配置好的工程,请执行本章操作,否则跳过。

1)删除解压后的部署包%Tomcat_HOME%\tomcat-win64\webapps目录下的 webroot 文件夹。

2)将之前工程的%FR_HOME%\webapps\webroot文件夹,复制粘贴到该位置。

注:若使用部署包中的工程,平台登录的用户名和密码需要自己设置;若使用已有的工程进行部署,平台登录的用户名和密码是已有工程的。

2.5 参数配置(选做)

FineReport工程部署到应用服务器上时,对应用服务器有一定的配置要求。

如果应用服务器不能满足工程使用时,会出现宕机风险。

建议在启动 Tomcat 服务器前,对参数进行配置,详情请参见:运维监控指导手册 。

2.6 启动Tomcat服务器

1)进入bin目录(根据目录自行修改)

cd /home/wendy/tomcat/bin

2)启动 Tomcat

./startup.sh

3)查看实时日志,实时日志中出现重启耗时则意味着启动成功。

cd /home/wendy/tomcat/logs

tail -f catalina.out

注:启动 Tomcat 后,如果报错「Database is not initialized」,请检查下用户读写权限,可使用命令chmod -R 777 tomcat配置权限。

2.png

2.7.0新建系统的外置数据库:

mysql在建表时候,要指定数据集和排序规则。

create database finedb CHARACTER SET utf8 COLLATE utf8_bin

必须是utf_8 和utf8_bin。

否则报错:could not execute statement

2.7 访问FineReport系统

在浏览器中输入访问地址http://IP:端口号/工程名/decision,打开FineReport初始化配置页面,即部署成功。如下图所示:

注:访问地址由「服务器 IP+ 端口 + 工程文件名 +decision」组成。

      Tomcat 默认端口号为 8080,工程名默认为webroot。

3.png

3. 注意事项

部署常见问题请参见:Tomcat部署问题汇总

MySQL could not execute statement

注意事项:mysql在建表时候,要指定数据集和排序规则。

create database finedb CHARACTER SET utf8 COLLATE utf8_bin

必须是utf_8 和utf8_bin。

否则报错:could not execute statement

问题现象:

配置 MySQL 数据库,导入数据失败,页面前端报错:could not execute statement;

查看%FineReport%/logs/fanruan.log,报错为:Table 'finedb.QRTZ_PAUSED_TRIGGER_GRPS' doesn't exist

排查步骤一:

MySQL数据库的编码不正确,字符集应当为 utf8 ,排序规则为 utf8_bin。

修改数据库编码,使用utf8编码,不支持 utf8mb4 编码

排查步骤二:

MySQL数据库的数据引擎不正确,应当为InnoDB

1)在 MySQL 数据库配置文件 my.cnf 中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存;

2)重启 MySQL 服务器:mysqladmin -u root -p shutdown或者service mysqld restart。

3)登录 MySQL 数据库,在mysql>提示符下输入show engines命令。如果出现InnoDB |DEFAULT,则表示设置 InnoDB 为默认引擎成功。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐