當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

Linux 下 Tomcat 服務器獨立部署

1. 概述

1.1 預期效果

用戶希望将 FineReport 報表工程部署到 Linux 系統上的 Tomcat 中,效果如下圖所示:

1612158486497582.png

1.2 實現思路

1)将本地工程的 webroot 文件夾以壓縮包形式上傳到 Tomcat 服務器的%TOMCAT_HOME%\webapps下,并解壓。

2)将 tools.jar 文件放到%TOMCAT_HOME%\lib下或者%TOMCAT_HOME%\webapps\工程名\WEB_INF\lib下。

3)重啓 Tomcat 服務器,訪問報表工程地址即可。

1.3 環境準備

用戶需要提前在 Linux 系統下安裝 JDK 和 Tomcat,具體的安裝方法可以自行查閱資料,文檔和技術支持不負責環境搭建部分的内容。

本文以 CentOS7+JDK1.8+Tomcat8.5 爲例進行演示,其他版本命令可能略有區别,請自行處理。

2. 操作步驟

2.1 上傳 webroot 文件至 Tomcat 環境中

1)将本地報表工程的 webroot 文件夾壓縮,将壓縮包上傳至%TOMCAT_HOME%\webapps下,可以通過 WinSCP/FTP 等軟件上傳。如下圖所示:

注:不推薦直接上傳文件夾,防止文件出現問題。
1612159420241872.png

上傳完成後,解壓壓縮包,代碼如下所示:

unzip webroot.zip

2.2 引入 JDK 中的 tools.jar 文件

%JAVA_HOME%\jdk\lib下的 tools.jar 拷貝到部署的服務器中,拷貝到%TOMCAT_HOME%\lib下或者%TOMCAT_HOME%\webapps\工程名\WEB_INF\lib下。詳細内容參見文檔:擊報錯500:服務器部署需引入tools.jar

代碼如下所示:

cp /usr/java/jdk1.8.0_131/lib/tools.jar /usr/tomcat/apache-tomcat-8.5.61/lib

2.3 重啓 Tomcat 服務器

1)進入%TOMCAT_HOME%/bin目錄,先運行shutdown.sh,關閉 Tomcat 服務器。

./shutdown.sh

2)查找是否還有 Tomcat 的進程,如果有 kill tomcat 進程。

ps -ef |grep tomcat

如果有 Tomcat 的進程,則 kill,pid 爲相應的進程号。

注:2019-12-05 及之後版本的 JAR 包可正常使用 shutdown 完全清理所有進程,不需要再操作這一步。

kill -9 pid

3)再運行 startup.sh 。

./startup.sh

4) 查看 Tomcat 日志。

tail -f ../logs/catalina.out

這樣 Tomcat 服務器就重啓完成了。

1612160452111504.png

2.4 效果查看

啓動浏覽器,在地址欄輸入:http://ip:服務器端口号/工程名/decision,能成功看到部署成功頁面,則表明  FineReport 應用部署 Tomcat 服務器成功,如下圖所示:

1612159596344177.png

3. 注意事項

3.1 權限問題

Linux 的文件權限,檢查整個工程讀寫運行權限,一般我們可以直接給整個工程全部的權限,命令如下:

chmod -R 777 webroot/

3.2 路徑問題

Linux 的路徑裏需要使用反斜杠,舉例:Windows 中 URL 路徑爲 emb:jdbc:hsqldb:file://${ENV_HOME}\finedb\db,而 Linux 中 URL 路徑爲emb:jdbc:hsqldb:file://${ENV_HOME}/finedb/db

3.3 中文亂碼問題

Linux 下的中文亂碼問題一般可以通過兩種方式解決。

1)安裝中文語言包

安裝方法:Linux 系統中文語言包的安裝

案例:Linux 下插入子報表出現中文亂碼

2)安裝字體包

安裝方法:在 Windows 系統中下的C:\WINDOWS\Fonts\找到相應的字體,将其拷貝到 Linux 系統下報表服務器使用的 JDK 下 JRE 的\lib\fonts目錄下,重啓服務器。

案例:Linux 導出或打印亂碼Linux 報表斜線丢失

3.4 雲遷移目錄丢失

Ubuntu 系統下,将正式環境中的 Tomcat 打包後拷貝到雲服務器上,啓動Tomcat後,目錄丢失,同時,在目錄管理中新增目錄,提示報錯信息“目錄已存在”。

3.4.1 報錯信息一

問題描述

報錯信息如下所示:

AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava
.awt.headless=true"
? See also: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+got+java.awt.headle ss+problem
java.lang.UnsatisfiedLinkError: /mnt/jdk1.8/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: cannot open shared
object file: No such file or directory

解決方案

apt-get install libxrender-dev,重啓 Tomcat 。

3.4.2 報錯信息二

問題描述

java.lang.UnsatisfiedLinkError: /mnt/jdk1.8/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object 
file: No such file or directory

解決方案

apt-get install libxtst-dev,重啓 Tomcat 。

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

反饋已提交

網絡繁忙