Overview
This article introduces the supported environments and requirements for FineReport deployment.
Note:
1. This article lists all the supported deployment environments. For details about the most suitable deployment environment for you, see Recommended Environment for Project Deployment.
2. This article lists the environments that have passed FineReport's test.
Lower versions not mentioned in this article are not supported by default.
You can test higher versions not mentioned in this article by yourself. If there are any problems, paid users can contact technical support for assistance. You can go to Service > Online Support, or call at 400-811-8890.
3. For external database components, this article only lists the supported versions. For details about specific deployment methods, it is recommended to query in the corresponding vendor's documents.
Universal Server Requirements
Server Operating System
It is recommended to use Linux operating system to deploy FineReport and external database components. Recommended versions:
System version: CentOS 7.3/Ubuntu 18.04.4 and above
System kernel version: 3.10 and above
System architecture version: X86_64
Note: For details about the comparison analysis of Linux and Windows, see Comparison Analysis of Linux and Windows.
Category | Operating System | Verified Version Number |
Linux | Centos 6 | Centos 6.5, Centos 6.6, Centos 6.7, Centos 6.8, Centos 6.9 |
Centos 7 | Centos 7.0, Centos 7.1, Centos 7.2, Centos 7.3, Centos 7.4 Centos 7.6, Centos 7.8, Centos 7.9 | |
RedHat 6 | RedHat 6.5, RedHat 6.6, RedHat 6.7, RedHat 6.8, RedHat 6.9 | |
RedHat 7 | RedHat 7.0, RedHat 7.1, RedHat 7.2, RedHat 7.3, RedHat 7.4 RedHat 7.7 | |
Ubuntu | Ubuntu 10.04.4, Ubuntu 18.04, Ubuntu 20 | |
Amazon Linux | Amazon Linux AMI release 2018.03 | |
Windows | Windows Server | Windows Server 2008, Windows Server 2012 Windows Server 2016 |
Preparing Server Port
1. There are multiple middlewares, and you can open the ports as needed.
2. For details about port occupation, see Viewing Port Usage. If the default port conflicts with other projects, you need to modify the port before opening the corresponding port.
3. If you want to deploy multiple Tomcat projects on a server, you need to modify Tomcat port number to prevent port conflict. For details, see Modifying Tomcat Port Number.
4. If the firewall is enabled, you need to open the related port number.
For details about the steps to open ports on Windows system, see Setting Inbound and Outbound Rules on Windows Server.
For details about the steps to open ports on Linux system, see Linux Firewall Usage and Configuration.
5. For Docker containers, or environments with strict port restrictions between servers, it is necessary to open ports between the servers of nodes for inter-node communication.
Choosing TCP protocol means using eight ports: 7800/7810/7820/7830/7840/7850/7860/7870
Choosing UDP protocol means using random ports between 45588 and 65536.
Classification | Content | Port | Note |
Middleware | Tomcat | 8080 | External ports, not necessarily open to the outside, and can be modified (in server.xml). SSL, short addresses, and other configurations should be done at the load balancing layer. |
WebLogic | 7001 | ||
WebSphere | 9080 | ||
Notification | WebSocket port | 38888/39888 | For details, see Container Websocket Solution and Configuring WebSocket Port for a Standalone Application. |
WebSocket forwarding port | 38889 |
Server Network Requirements
1. FineReport and external database components can be deployed in both public and private network environments.
Type | Bandwidth | Subnet |
Public network | More than 10 MB | The project node and external database are on the same subnet. |
Private network | Private networks typically have bandwidths of 100 Mbps or 1 Gbps, so there are no specific bandwidth requirements. | The project node and external database are on the same subnet. |
2. Communication is required between project nodes and external databases. Ping statements can be used to test the connectivity.
Project Deployment Requirements
Server Deployment Requirements
FineReport supports both standalone and cluster deployment, with the cluster consisting of multiple project nodes.
Each node is an independently runnable project responsible for processing user requests, generating reports, and managing other components.
It is recommended to prepare different quantities and configurations of project nodes based on the project concurrency, as shown in the table below:
Note: It is recommended cthat the JVM memory for the project node server should be more than 8 GB, but not exceed 32 GB, because too large JVM memory may cause long FullGC time for the system.
Number of Registered Users | Number of Online Users | Number of Concurrent Users | Recommended Configuration | Minimum Configuration |
2000 – 5000 | 400 – 1000 | 0 – 200 | One node, which should have: CPU: 8 cores, 16 threads, 2.4 GHz JVM memory: 16 GB Physical memory: 32 GB | One node, which should have: CPU: 8 cores, 16 threads, 2.4 GHz JVM memory: 8 GB Physical memory: 16 GB |
4000 – 10000 | 800 – 1500 | 200 – 300 | One node, which should have: CPU: 8 cores, 16 threads, 2.4 GHz JVM memory: 16 GB Physical memory: 32 GB | One node, which should have: CPU: 8 cores, 16 threads, 2.4 GHz JVM memory: 8 GB Physical memory: 16 GB |
6000 – 12000 | 1200 – 2500 | 300 – 500 | Cluster with more than two nodes. This article does not introduce the corresponding configuration. | One node, which should have: CPU: 8 cores, 16 threads, 2.4 GHz JVM memory: 16 GB Physical memory: 32 GB |
8000 – 30000 | 1600 – 6000 | 500 – 1200 | Cluster with more than two nodes. This article does not introduce the corresponding configuration. | Cluster with more than two nodes. This article does not introduce the corresponding configuration. |
Note:
1. User dimension explanation:
Number of registered users: the number of users registered in the system.
Number of online users: the number of users who are online at the same time during a certain period of time (generally between 5% and 20% of the number of registered users).
Number of concurrent users: the number of users who send requests to the server at the same time (generally between 10% and 25% of the number of online users).
2. Configuration explanation:
Recommended Configuration: The average response time for 70% of scenarios is less than three seconds.
Minimum Configuration: The average response time for 70% of scenarios is less than five seconds.
Server Disk Space
Catalog | Function | Configuration Requirement |
Project deployment | Used for deploying projects, storing project template resource files, etc. | More than 500 GB |
Root directory | Storage content: Store system temporary cache in folder FineReport110 Directory location: 1. For a project started by the root user in Linux system, the root directory is located in {directory}/root. 2. For a project started by the non-root user in Linux system, the root directory is located in /home/$username/. 3. For a project started in Windows system, the root directory is located in C:\Users\{username}. | Not less than 40 GB |
/usr directory | Default path for storing logs | Not less than 15 GB |
Other Requirements for Server
Classification | Description | Document |
Language | When users using Chinese deploy the project on Linux system, it is necessary to make sure that there is Chinese Language package in the system. | Installing Chinese Language Package in Linux System |
Permission | To ensure the normal operation of the project, the project folder should have the minimum permission of 755. | Linux File Permission Configuration |
Requirements for Middleware
For containerized deployment or deployment package deployment, you do not need to prepare the content of this section, as FineReport has built-in JDK and application server. The built-in JDK is OpenJDK.
Independent deployment requires preparation of the content in this section. You need to prepare your own application server and JDK.
FineReport is a pure Java Servlet application, which should be deployed in such middlewares as Tomcat, WebLogic and WebSphere.
When you start the middleware, FineReport will be loaded and the project can operate normally.
Middleware | Middleware Version | JDK Version |
Tomcat | It is recommended to use the latest version of Tomcat 8. Note: Using the recommended version will reduce safety issues caused by low Tomcat versions. Tomcat version 7.0 – 9.0 is supported. Tomcat version 10.0 is not supported. | JDK 1.8 and the minor version needs to be JDK 8u102 or higher. Note: 1. If JDK version does not meet the requirement, you may have problems when starting the deployment. 2. JDK version must correspond to the operating system, for example, 32-bit system can only use 32-bit JDK. 3. OpenLogic OpenJDK is not supported. |
WebLogic | Weblogic 12.2.1.3 and higher versions | |
WebSphere | WebSphere 8.5 | |
JBoss | JBoss 6 and higher versions | |
Resin | Resin-4.0.58 |
1. Notes for Middleware Deployment
If you need to run FineReport/FineBI on Docker container, make sure that the memory is more than eight GB.
It is recommended to use the unzipped Tomcat and JDK.
You cannot deploy multiple FineReport projects on a middleware.
If multiple Tomcats are installed in the environment, it is not recommended to for you to configure CATALINA_HOME or TOMCAT_HOME in the environment variable. Otherwise, no matter which Tomcat you start, the one specified by CATALINA_HOME is started.
For Tomcat version 7.0.100, you need to place web.xml in directory %Tomcat_HOME%\webapps\webroot\WEB-INF, or an error will occur.
2. Notes for JDK Installation in Windows System
There must be environment variable JAVA_HOME, and Path must have directory %JAVA_HOME%\bin and directory %JAVA_HOME%\jre\bin.
If there is no attach.dll file in directory %JRE_HOME%/bin to which the environment variable points, you need to copy the attach.dll file in directory %JAVA_HOME%/jdk/jre/bin to directory %JRE_HOME%/bin, or it will pop up: fine assist start failed when Tomcat is started.
Application Project Preparation
For containerized deployment or deployment package deployment, you do not need to prepare the content of this section, as FineReport has a new built-in project.After deploying the new project, you need to set the username and password for platform login by yourself.
Independent deployment requires preparation of the content in this section.
Webroot folder in directory %FR_HOME%\webapps is required for project deployment.
You need to prepare the project in advance, either an existing project or downloading the latest project.
If you use an existing project for deployment, make sure the username and password for platform login are those of the existing project.
External Database Requirements
Except for platform attributes configuration, all information in the decision-making platform, including directory tree settings, template scheduled task information, etc., is stored in a single database.
The database manages and stores various configuration information of the project nodes, ensuring the consistency of configuration across all nodes, and facilitating centralized management of project metadata by the administrator.
It is recommended to configure external database for formal project.
Server Deployment Requirements
The occupation space needs to be adjusted according to the usage rate. It can be configured based on the size of the webapps/webroot/WEB-INF/embed/finedb folder, and the estimated future usage size can be increased by 1 – 2 times based on the actual size.
External database should be on the same subnet as the project to avoid network fluctuations.
Configuration Type | Minimum Configuration |
Physical memory | 16 GB |
CPU | 2.4 GHz and above Four cores, eight threads |
Internet speed | 50 Mbps |
Available disk space | More than 100 GB Available disk space of the root directory should not be less than 40 GB. |
Disk read/write speed | 50 MB/s |
Database Type
Non-containerized deployment requires preparation of the content in this section. Containerized deployment does not require preparation of the content in this section.
Database Type | Supported Database Version | Procedure |
RDS MySQL | / | Configuring MySQL5 External Database |
MySQL | 5.1.73, 5.5.31, 5.5.46, 5.5.56, 5.6.22, 5.6.31, 5.7.16 | |
8.0.11, 8.0.16, 8.0.20 | Configuring MySQL8 External Database | |
Oracle | 10g, 11g, 12c | Configuring Oracle External Database |
SQL Server | 2000, 2005, 2008, 2012, 2014, 2016 | Configuring SQL Server External Database |
2017 | ||
DB2 | 9.7, 8.2, 11.1 | Configuring DB2 External Database |
PostgreSQL | 9.4.7, 9.5.0, 9.5.2, 9.6.0 |