基于linux系统在威联通NAS上通过Tomcat部署FineBI 5.1【保姆级教程】
在威联通NAS上通过 tomcat 部署 FineBI5.1(2020-10-28更新 Tomcat下配置https访问FineBI)前言为什么要写这篇内容?1. 我本身不是专业技术人员,自己有时候也记不住具体操作步骤,哪天若需要重新部署,也给自己留个详细的文档;2. 关于威联通的NAS的文章真的好少,FineBI的官网文档并不是保姆级教程,很多东西还是需要有点知识储备+自己折腾了才能知道,不适合太小白的用户;3. 小团队想试用一下FineBI,然后就搞了;4. 纯粹是心得分享,有不正确的内容请指正哦。最重要的是,其实很早之前就开始接触FineBI,中间遇到很多问题,发问时大家给予了很多帮助和解答,在自己有一些小经验的前提下,也希望能分享给有需要的小伙伴。在此感谢大家的帮助。注意:下面的 注意事项 或 坑,我会用红色标注;--------------------------------------------------------------------------------我的使用软硬件环境:1. 网络设施 电信宽带下行500Mbps 、上行30Mbps,动态公网IP;2. 威联通NAS 型号H886 ,使用DDNS连接外网,内网需要做些端口转发,玩NAS的伙伴应该都是了解的;3. Tomcat版本 v8.0.534. Java版本 Oracle JRE v8.151.2.1--------------------------------------------------------------------------------问1:NAS的配置带的动吗?答1:我威联通NAS型号是 TS-H886 CPU:Intel® Xeon® D-1622(4核,默频2.6GHz/睿频3.2GHz)内存:三星 2666 ECC 128G原本想在群晖1618+上部署,但那配置有点着急的,还是部署在配置高一点的NAS上吧,以绝后患.. .... 问2:成功了吗? 答2:算是成功了,因为目前还没有连接到数据库系统,只是excel导入测试了一下,暂时使用没有问题。谁知道后面还会有什么鬼.. ...问3:群晖 NAS 能支持安装吗?答3:可以是可以,但是根据之前查到的信息,可能群晖安装的java环境可能不支持。因为群晖使用的是openjdk,而不是Oracle的jdk。这个问题请查阅:https://blog.csdn.net/qq_26733603/article/details/104445399?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase 《群辉服务器搭建FineRepore数据决策系统》(我查了一下手上的群晖1618+ 和这台 威联通H886的jdk版本,确实群晖是openjdk版本 , 威联通是oracle的。 但是否openjdk无法提供支持,我 懒~~ 没去验证 哈哈哈)参考:https://bbs.fanruan.com/forum.php?mod=viewthread&tid=77239 《用普通计算机架设基于liunx系统的NAS部署FR决策系统》https://blog.csdn.net/qq_26733603/article/details/104445399?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-1.nonecase 《群辉服务器搭建FineRepore数据决策系统》写的过程中如有遗漏,我会尽快补齐!不是技术大牛,可能有些问题我也无法解释或者解决,只供大家参考参考,如有大牛对某问题能提供技术解答和解决方案可以和大家一起共享一下。感谢!--------------------------------------------------------------------------------软件准备1. 远程ssh使用的软件: FinalShell https://www.hostbuf.com/t/988.html 【这个软件解决了我一个大问题,后面说到】2. 下载Windows版本的 FineBI FineBi Windows https://www.finebi.com/product/download 【大家应该都是Windows环境多,如果你是linux系统,那就下载linux版本,macOS的就下载苹果的版本,不碍事。我们只需要里面的webroot文件目录】--------------------------------------------------------------------------------威联通 NAS 环境准备 1. 开启 SSH 登录功能 【端口号最好不要默认哦】135629路径:控制台 - 网络&文件服务 - Telnet/SSH 2. 先下载安装好Java环境 【截图显示的就是我的安装版本】135630路径:APP Center - 搜索框搜索【JRE】 - 下载3. 安装 Tomcat8 软件 【截图显示的就是我的安装版本】135631路径:APP Center - 搜索框搜索【Tomcat】 - 下载 我下载的是 Tomcat8 的版本Tomcat 的端口内网转发、密码修改什么的应该不用这里讲了吧,这个我相信大家是没问题的。我这里为避免冲突 Tomcat8 端口设置为【9080】,并在我的路由器上做好端口转发。135632https://www.geek-share.com/detail/2763566899.html 《修改Tomcat8的默认访问端口8080》https://blog.csdn.net/xulianboblog/article/details/51004847 《重新设置Tomcat管理员用户名和密码(v8.0)》威联通NAS找不到修改 tomcat8 的配置文件?下面就是讲解这个问题。往下看。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 以上环境准备就绪 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
关键点来了
--------------------------------------------------------------------------------1. 通过SSH连接,先找到你威联通NAS上 Tomcat8 的安装路径在哪里。威联通这方面可参考的信息真的是太少了... ..按照网络上的内容压根找不到嘛(可能我太笨了)。使用 FinalShell 连接到威联通SSH,使用下面linux命令显示你NAS盘内容:
# cd /share/
# ls
复制代码
使用【ls】命令显示以下内容:对于我这种小白来说,已经懵圈了。哪里找啊... ...135633我的威联通NAS系统叫 QuTS hero 系统,使用ZFS文件格式,如果你用的是威联通 QTS系统,那么这个盘的名称和我会有所差异。威联通NAS找到对应Tomcat8安装路径的方法是:❶ 我有 两个 1T SSD 做 RAID1 存储池,将 Tomcat8 安装在了SSD上,接下来我将范围锁定在容量只有 1T 的盘符上找即可。这个时候 FinalShell 左边的【路径】栏会提供给你更好的帮助。❷ 按照图片所示,SHELL界面左边的【路径】栏往下看,找到有个【/share/ZFS530_DATA/.qpkg/... .... 】这个有【.qpkg】路径的【ZFS530_DATA】盘符,它就是你安装威联通软件应用的盘符。那么我的 tomcat 安装路径就是【/share/ZFS530_DATA/】这个盘,这就解决了我找不到威联通安装软件盘符的问题,感谢这个软件 哈哈哈。135634群晖的tomcat文件在哪里?群晖NAS找到对应 Tomcat 安装路径的方法是:❶ 它的路径叫 /volumex/@appstore 这个 x 是数字,表示是第几个硬盘卷,每个人后面这个数字可能不一样。因为我的群晖 1618+ 其中也是两块SSD组的 RAID1,合起来也是1T容量,按照上面的方式找到叫【/volume1】的盘符容量符合要求;❷ 通过 cd 命令进入到 /volume1 ,并使用 ls 命令查看当前的文件有哪些
admin@gobulibuli:/$ cd /volume1
复制代码
❸ 在 /volume1 目录下有一个叫 @appstore 的文件夹,用 cd 命令进入 @appstore 文件夹:
admin@gobulibuli:/volume1$ cd \@appstore/
复制代码
你就找到群晖的 tomcat 配置文件了,看下图135653接前面威联通的内容:下来就是进入威联通NAS这个盘找到tomcat8:
# cd ZFS530_DATA/
# ls
复制代码
没有内容吗?因为被隐藏了,使用下面命令显示隐藏信息和文件的详情信息:
# ll -l
复制代码
135635有个以【 . 】开头的隐藏文件叫: .qpkg 使用 cd 命令进入此文件夹目录,你就能找到 Tomcat8 的所有内容了:
# cd .qpkg/Tomcat8/tomcat8/
# ls
复制代码
135636前面提到的tomcat8 端口修改问题,路径就在/share/你的盘符名称/.qpkg/Tomcat8/tomcat8/conf下面的server.xml:
# vim server.xml
复制代码
https://www.geek-share.com/detail/2763566899.html 《修改Tomcat8的默认访问端口8080》https://blog.csdn.net/xulianboblog/article/details/51004847 《重新设置Tomcat管理员用户名和密码(v8.0)》
将windows/linux/macOS下的webroot部署到tomcat8
--------------------------------------------------------------------------------接下来就是将Finebi的 【webroot】文件夹内所有的内容复制到这个 tomcat8的【webapps】下。默认安装好FineBI windows版本, 安装好的路径在 C:\Program Files\FineBI5.1\webapps 下默认安装好 FineBI macOS版本, 安装好的路径在 应用程序/FineBI5.1/webapps.webroot 下默认安装好FineBI linux版本, 安装好的路径在 /home/你的用户名/FineBI5.1/webapps.webroot 下以macOS为例:进入FineBI5.1目录 ,使用下面命令对webroot文件目录进行打包,当然,你也可以使用scp -r 直接上传整个文件夹:
tar -cvf webroot.tar webroot
复制代码
135648使用 scp 命令上传到威联通NAS中 tomcat 下的 webapps 目录下: -P 222 :是指定 SSH端口号,因为我修改了SSH端口为 222
scp -P 222 webroot.tar admin@192.168.1.39:/share/ZFS530_DATA/.qpkg/Tomcat8/tomcat8/webapps
复制代码
135649上传完成后在威联通NAS tomcat8 webapps目录下,解包 webroot.tar:
# tar -xvf webroot.tar
复制代码
赋予webroot文件夹目录下所有者都有 可读可写可执行 权限:
# chmod -R 755 webroot/
复制代码
将webroot文件夹下,所有者和所有组都改为admin和administrators:(我不知道需不需要这一步,反正我是做了)
# chown -R admin:administrators webroot/
复制代码
135650
配置威联通NAS tomcat8 下的 webroot
--------------------------------------------------------------------------------以上已经将FineBI部署到NAS的tomcat8下了,但是还无法正常使用,接下来我们需要再添加一个步骤:需要将 tools.jar 包配置到tomcat8上,这样才能避免登录FineBI时提示 HTTP Status 404这个 tools.jar 包在你本地安装 FineBI5.1 的包里,以我 macOS 为例,路径在:
/Applications/FineBI5.1/lib/tools.jar
复制代码
其它系统 tools.jar 的路径:默认安装好FineBI windows版本, 安装好的路径在 C:\Program Files\FineBI5.1\jre\lib 下默认安装好 FineBI macOS版本, 安装好的路径在 应用程序/FineBI5.1/lib 下默认安装好FineBI linux版本, 安装好的路径在 /home/你的用户名/FineBI5.1/jre/ib 下 通过 scp 命令将 tools.jar 包上传到 NAS上的tomcat8/webapps/webroot/WEB-INF/lib 路径下:
mr.ychen@mrychendeiMac-Pro-3 /Applications/FineBI5.1/lib scp -P 222 tools.jar admin@192.168.1.39:/share/ZFS530_DATA/.qpkg/Tomcat8/tomcat8/webapps/webroot/WEB-INF/lib
复制代码
并在 NAS 上,赋予使用者可执行权限:
# chmod 755 tools.jar
复制代码
配置 tomcat8 下 FineBI 内存大小
--------------------------------------------------------------------------------威联通NAS、群晖NAS都是基于Linux系统,所以FineBI内存大小的设置都在 catalina.sh 内更改内存配置信息:路径在: 下面的 catalina.sh 配置:
# ls
复制代码
135651使用 vim 命令编辑 catalina.sh
# vim catalina.sh
复制代码
(vim使用方式可以百度一下只需要知道英文输入状态下按下字母【i】是插入、编辑好后按一下【esc】、输入英文冒号【:】、再输入【wq】退出保存就可以)找到下图所示的对应位置,添加一条以下命令:
JAVA_OPTS="-Xms8192m -Xmx16384m"
复制代码
135652JAVA_OPTS="-Xms8192m -Xmx16384m" 数字 8192 16384 是指分配多少内存,m是MB的意思;初始分配8G内存,最大16G;我内存相对较大,NAS用不了多少内存,我直接分配了最大40G给FineBI。详细请参考: https://help.finebi.com/doc-view-56.html 《修改 FineBI 配置参数》
重启威联通NAS系统
--------------------------------------------------------------------------------配置好以上内容后,需要重启 NAS 系统才能生效,试过多次似乎只是重启 tomcat 是无效的。如果后期你有更改 FineBI webroot下的内容,重启 tomcat 服务 不生效的情况下,那就重启 NAS 系统。威联通关机、开机跟蜗牛似得,开机后如果进不了 tomcat ,别急 tomcat 应用还没启动估计.. ....通过:http://你的IP地址:你的tomcat端口号/webroot/decision/login 进行访问以上就是我能回想起来的步骤,如果大家有不懂的可以留言,我想起来了及时补充进去。其中若有操作问题,欢迎大神补充。 自己踩的坑--------------------------------------------------------------------------------玩 NAS 的伙伴可能要注意,有些伙伴可能设置了内网转发 8081 端口进行外网访问 web 服务135654但是 FineBI 其中的 shop.finereport.com 进程(插件管理那个)也是使用 80或 8081 端口135655这就导致你安装插件时会会提示 网络异常 com.frplugin.animateNetwork Anomaly 。135656只要你把 NAS 的 8081端口再换一个,并在路由器上关闭 8081 对内网的转发,就可以了。如果这篇文章对你有用的话,记得给个赞哟!--------------------------------------------------------------------------------近期有时间,再次琢磨了一下教程。成功在NAS下的Tomcat中配置https访问,其实没有我想象中的那么复杂。按照此步骤 https://cloud.tencent.com/document/product/400/35224 配置证书文件,就可以正常访问了。最主要的是,因为不是云主机,是自己NAS使用,只要最后把8443端口做一下内网转发到NAS IP上就可以了,如果连接不上,可以尝试重启NAS就行。 编辑于 2020-10-28 20:46 编辑于 2021-2-23 00:31