版本:
V11.0.4
工程部署到 Tomcat 中,需要安装 Tomcat 、JDK,对于新手用户来说有些麻烦。
我司整合了包含工程和环境配置的 Web 容器,支持直接在相应系统中部署启动,无需配置环境。
本文介绍在 Linux 系统中使用 Tomcat 部署包的方法。
注:相比于传统部署架构,容器化部署具有隔离性、可移植性、灵活性、可伸缩性和可控性等优点,可大幅降低企业的维护成本和资源成本。
推荐使用更具优势的容器化部署方案:部署新项目-FineReport
请参考 工程部署推荐环境及配置 文档,准备相关环境。
注:不支持在 32 位操作系统上安装。
1)帆软提供 Linux X86 和 Linux ARM 类型的部署包,用户下载部署包前需使用uname -m确认系统架构是否符合安装要求,如下图所示:
2)点击跳转至服务器部署包下载地址:服务器部署包
3)在「其他下载>服务器部署版」下,根据自身系统,选择下载对应版本的服务器部署包。如下图所示:
4)下载完成后上传到 Linux 系统里,如下图所示:
注1:本文示例上传到/home/wendy路径下,即为下文的部署包所在目录,用户可自行调整。
注2:示例使用 FTP 工具,也可使用其他文件传输工具。
1)进入上传部署包所在目录(根据目录自行修改)
cd /home/wendy
2)解压部署包(根据压缩包名称自行修改)
tar -zxvf tomcat-linux-x64.tar.gz
3)重命名 Tomcat 文件夹(自行修改,本文修改为tomcat)
mv tomcat-linux-x64 tomcat
用户若想保留之前本地配置好的工程,请执行本章操作,否则跳过。
1)删除解压后的部署包%Tomcat_HOME%\tomcat-win64\webapps目录下的 webroot 文件夹。
2)将之前工程的%FR_HOME%\webapps\webroot文件夹,复制粘贴到该位置。
注:若使用部署包中的工程,平台登录的用户名和密码需要自己设置;若使用已有的工程进行部署,平台登录的用户名和密码是已有工程的。
FineReport工程部署到应用服务器上时,对应用服务器有一定的配置要求。
如果应用服务器不能满足工程使用时,会出现宕机风险。
建议在启动 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配置权限。
mysql在建表时候,要指定数据集和排序规则。
create database finedb CHARACTER SET utf8 COLLATE utf8_bin
必须是utf_8 和utf8_bin。
否则报错:could not execute statement
在浏览器中输入访问地址http://IP:端口号/工程名/decision,打开FineReport初始化配置页面,即部署成功。如下图所示:
注:访问地址由「服务器 IP+ 端口 + 工程文件名 +decision」组成。
Tomcat 默认端口号为 8080,工程名默认为webroot。
部署常见问题请参见:Tomcat部署问题汇总
注意事项: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 为默认引擎成功。