Finereport基于linux的简单安装(单节点)

简介

        本文以单节点简单部署为例,不适用企业级高可用部署策略。

        FineReport的运行依赖于Tomcat ,Tomcat 是免费且性能相对稳定的 Web 应用服务器,也可以充当JSP容器。它是一个用于运行Java Servlet和JavaServer Pages(JSP)的Web服务器。

        Tomcat本身并不包含完整的JDK,但它需要在运行时依赖于JDK。在安装和配置Tomcat之前,确保已经安装了JDK。Tomcat的主要任务是接收HTTP请求,将其传递给相应的Servlet或JSP进行处理,然后将结果返回给客户端。它充当了Java Web应用程序的承载环境。
        Tomcat依赖于JDK,它使用JDK的核心功能,包括Java虚拟机和相关的标准库。在启动Tomcat时,Tomcat的启动脚本会调用JDK中的Java虚拟机,从而启动Tomcat服务器。Tomcat通过Java的Servlet和JSP技术处理Web请求,这些技术最终由JVM执行。

        当用户启动FineReport时,JVM会加载FineReport的Java字节码并执行。JVM提供了Java程序运行的环境,负责字节码的解释和执行,以及垃圾回收、内存管理等任务。FineReport本身是一个Java应用程序,它运行在JVM上,利用了JVM的特性来实现跨平台性和可移植性。

安装准备

        查看防火墙状态,永久关闭防火墙。

[root@vm01 manager]# systemctl stop  firewalld
[root@vm01 manager]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sat 2023-12-09 07:55:34 CST; 2s ago
     Docs: man:firewalld(1)
  Process: 961 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 961 (code=exited, status=0/SUCCESS)

Dec 09 04:07:42 vm01 systemd[1]: Starting firewalld - dynamic firewall daemon...
Dec 09 04:07:44 vm01 systemd[1]: Started firewalld - dynamic firewall daemon.
Dec 09 04:07:45 vm01 firewalld[961]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider...abling it now.
Dec 09 07:55:33 vm01 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Dec 09 07:55:34 vm01 systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@vm01 manager]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

使用windows的ping指令 确保虚拟机与外界互通。 

        查看操作系统情况

        本文采用centos7进行安装演示,使用cat /etc/os-release指令查看当前虚拟机的版本信息

[root@vm01 /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

        查看运行内存大小

(注意后面需要根据此数据,配置帆软相关参数)

[root@vm01 /]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.8G        242M        7.4G         11M        114M        7.3G
Swap:            0B          0B          0B

        本博主swap交换空间为零,当内存资源有限,建议不用开启,当内存资源充足可以按需分配。

        查看cpu情况

[root@vm01 /]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            23
Model:                 17
Model name:            AMD Ryzen 5 PRO 2400G with Radeon Vega Graphics
Stepping:              0
CPU MHz:               3593.227
BogoMIPS:              7186.45
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             64K
L2 cache:              512K
L3 cache:              4096K
NUMA node0 CPU(s):     0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext ssbd rsb_ctxsw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero arat overflow_recov succor
几个核心参数解释: 

CPU op-mode(s): 32-bit, 64-bit

表示 CPU 支持的操作模式,即可以运行 32 位和 64 位的操作系统和应用程序。(注意,该参数对于选择对应版本的JDK重要,需要作为参考)。


Byte Order: Little Endian

表示字节序,这里是小端序。小端序是一种字节排列方式,它将最低有效字节存储在最低内存地址处。大多数 x86 架构的系统都是小端序。


CPU(s): 1

表示系统有一个 CPU。


On-line CPU(s) list: 0

表示在线的 CPU 列表,这里只有一个 CPU(编号为 0)在线。


Thread(s) per core: 1

表示每个核心只有一个线程。在这个输出中,每个核心只能同时执行一个线程。


Core(s) per socket: 1

表示每个 CPU 插槽只有一个核心。这表明系统的 CPU 架构是单核心的

安装JDK 

        前文简介介绍了帆软是运行的JVM上的一款软件,运行环境需要依赖于JDK

登录jdk官网查看JDK最新支持的操作系统是否和我们本机的操作系统符合。本文以JDK8为例,对于本演示虚拟机符合标准。(不要追求过高版本,避免版本兼容出问题)       

 进入官网,选择jdk-8u202-linux-x64.tar.gzicon-default.png?t=N7T8https://download.oracle.com/otn/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz缩包。

        在可以链接外网的情况下,可以使用以下指令进行下载,在内网环境,需要自行将压缩包上传至对应服务器上。 

wget https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html#license-lightbox

 解压、清除压缩包。

[root@vm01 ~]# tar -zxf jdk-8u202-linux-x64.tar.gz 
[root@vm01 ~]# rm -rf jdk-8u202-linux-x64.tar.gz 
[root@vm01 ~]# mv jdk1.8.0_202/ jdk
[root@vm01 ~]# mv jdk/ /
[root@vm01 ~]# cd /jdk/

编辑环境变量

[root@vm01 jdk]# vim /etc/profile

进入/etc/profile添加以下环境变量在末尾。 

export JAVA_HOME=/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${CATALINA_HOME}/bin:${JRE_HOME}/bin:$PATH

简单指令测试 

[root@vm01 jdk]# java -version 
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

添加完环境变量之后,需要进行source /etc/profile进行加载环境变量,使用java -version 如果弹出版本信息,说明安装完成。

安装TOMCAT

        帆软11对tomcat版本有以下要求。

版本要求
  • 支持tomcat8.0(不支持 Tomcat 8.0.32 版本)

  • 支持tomcat9.0

  • 不支持tomcat10.0

进入TOMCAT官网,下载apache-tomcat-8.5.51.tar.gz对应得压缩包,

        这里顺便讲一下几个版本的区别。

  • Core版本: 包括Tomcat的核心部分,适用于一般的Web应用程序。
  • Full documentation版本: 包括完整的Tomcat文档,通常用于查阅Tomcat的详细信息。
  • Deployer版本: 针对部署Web应用程序的需求。
  • Embedded版本: 针对嵌入式场景,可能是一些特殊需求的解决方案
  • Source Code Distributions:是tomcat的源码版本,可以进行预编译,本文旨在安装常规用于学习的版本,使用core即可

创建安装目录、解压缩

[root@vm01 ~]# mkdir /tomcat 
[root@vm01 ~]# mv apache-tomcat-9.0.83/ /tomcat 
[root@vm01 ~]# cd /tomcat/
[root@vm01 tomcat]# ll
total 0
drwxr-xr-x. 9 root root 220 Dec  9 07:16 apache-tomcat-9.0.83
[root@vm01 tomcat]# mv apache-tomcat-9.0.83/ tomcat   #重命名压缩包名称

环境变量配置     

   使用以下指令,编辑环境变量

vim /etc/profile 

        环境变量值增加 CATALINA_HOME及其对应的PATH。

export JAVA_HOME=/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${CATALINA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin:$PATH

export CATALINA_HOME=/tomcat/tomcat
                                           

使用source /etc/profile 重新加载环境变量 

[root@vm01 ~]# source /etc/profile

    启动tomcat

[root@vm01 jdk]# startup.sh 
Using CATALINA_BASE:   /tomcat/tomcat
Using CATALINA_HOME:   /tomcat/tomcat
Using CATALINA_TMPDIR: /tomcat/tomcat/temp
Using JRE_HOME:        /jdk/jre
Using CLASSPATH:       /tomcat/tomcat/bin/bootstrap.jar:/tomcat/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@vm01 jdk]# netstat -nlp|grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      2609/java           
[root@vm01 jdk]# jps
2609 Bootstrap
2667 Jps
[root@vm01 jdk]# 

登录网页进行验证

http://10.0.0.200:8080/

前文中提到在查看系统相关参数的指令,这可以设置环境变量对JVM允许环境进行优化,以下举例部分参数进行说明

调整堆内存大小:
export CATALINA_OPTS="-Xms512m -Xmx1024m"

设置新生代和老年代的比例:
export CATALINA_OPTS="-XX:NewRatio=2"

启用并发垃圾收集(CMS):
export CATALINA_OPTS="-XX:+UseConcMarkSweepGC"

设置堆内存的空闲回收时间:
export CATALINA_OPTS="-XX:MaxHeapFreeRatio=70 -XX:MinHeapFreeRatio=40"

设置线程栈大小:
export CATALINA_OPTS="-Xss256k"

 除此之外还可以根据服务器运行线程情况,设置一些端口信息。

HTTP 端口(默认为 8080):
export CATALINA_OPTS="-Dcatalina.http.port=8888"

TTPS 端口(默认为 8443):
export CATALINA_OPTS="-Dcatalina.https.port=8443"

AJP 端口(默认为 8009):
export CATALINA_OPTS="-Dcatalina.ajp.port=8009"

 安装设计器

        进入帆软官网,选择个人版本进行下载

下载完成后直接点击运行

 

         设计器的安装就很简单了,跟着提示走就可以

指定一个安装目录,然后点击下一步

 

由于是初次下载设计器,并没有设置管理员账号密码,此时我们登录决策系统

 启动设计器,先登录决策系统,然后设置管理员账户密码。

进行登录  看看是否能正常登录决策系统

注:关闭设计器,进行下一步

        将设计器安装目录中webroot目录上传到虚拟机中的tomcat的webapps中去,设计器中的webroot目录下包含了设计器运行的相关参数和配置文件,要想要远程控制,就要将该文件包上传。 启动设计器

启动tomcat

startup.sh

远程链接

选择其他

配置相关信息(默认端口依然是8080)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/232418.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse 4.30 正式发布 来看看有哪些值得期待的新特性

Eclipse 4.30 已正式发布,主要特性如下: 1、支持新的 Java 语言特性:包括 JEP 440: Record Patterns 和 JEP 441: Pattern Matching for Switch 2、针对 Java 编辑器的快速修复功能:包括添加默认 case、移除默认 case 和插入 br…

报道 | 2023年1月-2024年3月国际运筹优化会议汇总

2023年1月-2024年3月召开会议汇总: SIAM Symposium on Algorithm Engineering and Experiments 2024 Location: Alexandria, VA, United States Important dates: Conference: January 7, 2024 - January 8, 2024 Details: https://www.siam.org/conferences/cm…

模电·放大电路的分析方法——等效电路法

放大电路的分析方法——等效电路法 晶体管的直流模型及静态工作点的估算法晶体管共射h参数等效模型 h h h参数等效模型的由来参数的物理意义简化的h参数等效模型 r b e {r\tiny be} rbe的近似表达式 共射放大电路动态参数的分析电压放大倍数 A ˙ u \.{A}\tiny u A˙u输入电阻 …

CrystalDiskInfo中文版(硬盘检测工具) v9.1.1.0 绿色汉化版-供大家学习研究参考

更新内容 重新支持三星SATA SSD寿命报告 增加对ZHITAI SC001的支持 新增SK hynix Gold S31支持 增加了KLEVV NEO N610的支持。 改进的Micron/Crucial SATA SSD支持 已更改 卸载程序将显示一个确认对话框,用于删除设置。 强大功能 1.拥有多国语言,…

curl 18 HTTP/2 stream

cd /Users/haijunyan/Desktop/CustomKit/KeepThreadAlive/KeepThreadAlive //Podfile所在文件夹 git config --global https.postBuffer 10485760000 git config --global http.postBuffer 10485760000 pod install https://blog.csdn.net/weixin_41872403/article/details/86…

全网最新最全【Kali Linux】 渗透测试技术大全

利矛出击:Kali Linux 渗透测试大法 在网络攻防实践中,系统的防御措施可以称为“盾”,而渗透测试则是“矛”。二者同等重要,因为“矛”可以试探出“盾”有多坚固,并且及时发现问题,修补漏洞,提升…

苍穹外卖项目笔记(8)— 缓存商品、购物车功能

前言 代码链接: Echo0701/take-out⁤ (github.com) 1 缓存菜品 1.1 问题说明 【注】很多时候系统性能的瓶颈就在于数据库这端 1.2 实现思路 通过 Redis 来缓存数据,减少数据库查询操作 【注】Redis 基于内存来保存数据的,访问 Redis 数据…

多任务学习(Multi-Task Learning)和迁移学习(Transfer Learning)的详细解释以及区别(系列1)

文章目录 前言一、多任务学习(Multi-Task Learning)是什么?二、多任务学习(Multi-Task Learning)对数据的要求三、迁移学习是什么?四,迁移学习对数据的要求五,多任务学习与迁移学习的…

正则表达式(8):基本正则表达式小结

正则表达式(8):基本正则表达式小结 本博文转载自 写这篇文章的目的就是总结前文中所介绍的”基本正则表达式”,并且结合一些实例进行练习,以便我们能够在练习中完全掌握它们。 首先,我们对前文中提到的符…

【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解

【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解前言DenseNet讲解Dense Block(稠密块)Dense Layer(稠密层)Transition Layer 过渡层DenseNet模型结构 DenseNet Pytorch代码完整代码附加…

蛋白质语言空间下的对比学习预测DTI

基于序列的DTI预测可以加速药物发现。而这种计算预测需要具有通用性和可扩展性,同时对输入中的细微变化保持敏感。然而,目前的计算技术不能同时满足这些目标。因此该研究开发了ConPLex,成功地利用了预训练蛋白质语言模型(PLex&…

基于JavaWeb+SSM+Vue实习记录微信小程序系统的设计和实现

基于JavaWebSSMVue实习记录微信小程序系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 目 录 摘 要 III Abstract 1 1 系统概述 1 1.1 概述 2 1.2课题意义 3 1.3 主要内…

vue常用的修饰符

一、定义 修饰符是用于限定类型以及类型成员的声明的一种符号,vue中修饰符分为以下五种:表单修饰符、事件修饰符、鼠标按键修饰符、键值修饰符、v-bind修饰符 二、作用 1.表单修饰符 lazy:在我们填完信息,光标离开标签的时候&a…

cache教程 3.HTTP服务器

上一节我们实现了单机版的缓存服务,但是我们的目标是分布式缓存。那么,我们就需要把缓存服务部署到多态机器节点上,对外提供访问接口。客户端就可以通过这些接口去实现缓存的增删改查。 分布式缓存需要实现节点间通信,而通信方法…

m_map导入本地地形数据

m_map绘制地形图时,虽然自带有1的地形图以及从NOAA下载的1分的地形图(详见:Matlab下地形图绘图包m_map安装与使用),但有时需要对地形图分辨率的要求更高,便无法满足。 此时,需要导入本地地形数…

LeetCode题:11. 盛最多水的容器

目录 一、题目要求 二、解题思路 三、代码 一、题目要求 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多…

《师兄啊师兄》第二季来了!它凭什么成为修仙流里第一档?

沉寂大半年,修仙喜剧动画《师兄啊师兄》第二季终于“千呼万唤始出来”,即将在12月14日上线。作为优酷动漫本年度的当家之作,这部可谓是热度口碑双丰收,截至第一季收官,相关话题在短视频平台的累计播放量更是高达43亿&a…

软件设计师——法律法规(二)

📑前言 本文主要是【法律法规】——软件设计师——法律法规的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

延时消息+递归导致重复消费爆炸问题

背景 公司所用消息队列为RoucketMQ,版本为4.x。最近公司有业务需要,将某个处理延迟到第二天的白天再进行。由于4.x版本队列,默认延时时间是按等级来延时的,默认有18个等级,如下图: 默认的延时等级&#xff…

eve-ng山石网科HillStone镜像部署

HillStone 部署 author:leadlife data:2023/12/4 mains:EVE-ng HillStone 镜像部署 - use hillstone-sg6000 default:hillstone/hillstone 传输 scp hillstone-sg6000.zip root192.168.3.130:/opt/unetlab/addons/qemu/部署 cd …