Tomcat 是免費且效能相對穩定的 Web 應用伺服器,在許多中小型企業中深受歡迎,本文將介紹如何將 FineBI 5.0 &5.1 部署到 Tomcat 伺服器端。
使用者需提前下載並安裝 JDK 和 Tomcat 伺服器。Tomcat & JDK安裝及配置步驟請自行查閱資料。
Tomcat 版本與 JDK 版本需要與工件系統對應,Tomcat 版本、 JDK 版本與 BI 版本對應關係如下:
同一個 Tomcat 伺服器中不能部署多個 BI 工程,JDK 版本為:JDK 1.8 且小版本需在 JDK8u102 以上。
不支援 32 位的工件系統。
不支援 Tomcat 10.0 版本。
使用者安裝 JDK 配置環境變數時,配置 path 時,變數值建議加上%JAVA_HOME%\jre\bin
安裝的 JDK 版本一定要與工件系統匹配,64 位工件系統可以安裝 32 位的 JDK ,但是 FineBI 不支援這樣的操作,必須保持統一。
範例在 Windows 系統下部署步驟。
呼叫終端命令,輸入 java -version 和javac ,出現如下則表示 JDK 安裝成功:
%Tomcat_HOME%\bin 目錄下雙擊 startup.bat,啟動 Tomcat 伺服器,在瀏覽器輸入命令http://localhost:8080,出現如下圖所示的網頁則表示安裝成功:
將%FineBI%\webapps下的 webroot 檔案copy到%Tomcat_HOME%\webapps下,如下圖所示:
注:BI 工程名 webroot 可以自訂修改,但是需要注意的是後面存取 BI 工程時位址http://ip:埠/工程名/decision中的工程名也要隨之更改。
將%JAVA_HOME%\jdk\lib下的 tools.jar copy到%Tomcat_home%\lib或%Tomcat_home%\webapps\webroot\WEB-INF\lib任一位置下
注:如果不執行該操作,存取 BI 工程時,頁面顯示報錯資訊:HTTP Status 404。
FineBI 對伺服器有一定的配置要求,因此需要配置記憶體參數保證伺服器穩定,詳情參見:修改 FineBI 配置參數
注:修改 FineBI 配置参数 5.1 節的 headless 參數若不配置,超管 匯出 Excel 時,將會報錯:無匯出權限。
此處需要為工程配置上當機自動生成 dump 日誌的 JVM 參數,配置該參數對工程運作沒有效能損耗的影響,僅用於在伺服器當機時生成 dump 日誌。
進入%Tomcat%\bin目錄下,編輯配置檔案 catalina.bat ,增加如下 JVM 參數:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump
注:其中D:\heapdump 路徑表示的是當機檔案生成路徑,可以根據需要修改檔案路徑。修改儲存後,需要重啓 Tomcat 才能使配置生效。
如下圖所示:
進入%Tomcat_HOME%\bin目錄下雙擊startup.bat,即可啟動 Tomcat 伺服器,如下圖所示:
在瀏覽器中輸入存取位址http://IP:埠/webroot/decision,範例為http://localhost:8080/webroot/decision,開啟 BI 工程登入頁面,即部署成功。
若客戶遇到0day漏洞預警通知,請參見:0day漏洞說明
問題描述
工程在 Windows 系統中部署成功後,出現卡頓問題,效能較差。
原因分析
Windwos Server 2016 及之後版本中,Windows 對控制檯的功能做了一次更新,支援了更多類似於 cmd 視窗的功能。這些新增的功能,導致在 Server2016 中部署的 Tomcat 以視窗模式啟動的時候,對匯出到控制檯的日誌造成了嚴重的效能問題,最終導致 BI 效能卡頓。
解決方案
方案一:保留啟動視窗
1)雙擊startup.bat後,在彈出的 Tomcat 視窗上,右鍵點選最上面白色欄,選擇「屬性」,勾選「使用舊版控制檯」,點選「確定」。
2)重啓 Tomcat 工程。
方案二:禁用啟動視窗
1)進入%Tomcat_HOME%\bin目錄下,找到setclasspath.bat檔案,將set _RUNJAVA="%JRE_HOME%\bin\java.exe"修改為set _RUNJAVA="%JRE_HOME%\bin\javaw.exe"。如下圖所示:
2)儲存後重啓 Tomcat 工程。
注1:使用 startup.bat 啟動 Tomcat, 命令視窗會一閃而過,但服務已經啟動了。想要存取工程,還需等待 Tomcat 啟動的時間。
注2:這種方式下,想要停止 Tomcat ,只能到任務管理器中殺 java 進程。