部署環境異常

1. 概述

在進行伺服器部署時,會出現部署失敗的情況,「部署環境異常」屬於原因之一,使用者可在 部署精靈頁面 中查看並修復問題。其中,「部署環境異常」這個原因又被分為不同情況,本文將介紹具體報錯及解決方案。報錯頁面如下圖所示:

1723796131593414.png

2. tools.jar不存在

注1:這裏以 Tomcat 為例進行示範,其他容器同樣為copy到對應的容器的 lib 下。

注2:%JAVA_HOME%/jdk/lib 下的 tools.jar 為部署伺服器本地 JAVA_HOME 裏面的檔案,不是開發計算機本地。

%JAVA_HOME%/jdk/lib下的tools.jarcopy到部署的伺服器中,即%TOMCAT_HOME%/lib下和%TOMCAT_HOME%/webapps/工程名/WEB_INF/lib下。如下圖所示:

1723796352579322.png

3. tools.jar不匹配

報錯例如:Caused by: java.lang.UnsatisfiedLinkError: sun.tools.attach.LinuxVirtualMachine.isLinuxThreads()Z

可以根據提示資訊不同判斷是 Windows 環境放了 Linux 的 tools.jar 還是 Linux 環境放了 Windows 的 tools.jar 。

4. attach.dll不存在

日誌報錯存在:Caused by: com.sun.tools.attach.AttachNotSupportedException: no providers installed

Windows 下安裝 JDK 時會同時安裝一個獨立的 jre ,獨立安裝的 jre 下沒有 attach.dll 這個檔案,BI 啟動需要呼叫這個檔案。

需將%JAVA_HOME%/jdk/jre/bin下的 attach.dll copy到%JRE_HOME%/bin下。如下圖所示:

1723796609358837.png

5. /tmp 無法寫入

問題描述:

日誌報錯Caused by: com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded

解決方案:

/tmp 目錄無法寫入檔案,可能導致這個現象的原因和解決方案是:

1)/tmp 所在磁碟空間已滿,清理下磁碟即可

2)普通使用者沒有權限,請給 /tmp 賦權

命令:chmod -R 1777 /tmp

命令詳解:

允許所有使用者讀、寫、執行

只有檔案所有者和伺服器超管使用者才能刪除自己在 /tmp 中建立的檔案

6. java.io.tmp 無法寫入

不同的容器部署,java.io.tmp 指向的位置也不同。可能導致這個現象的原因是:

  • 使用者沒有權限,賦權即可。

  • java.io.tmp 所在磁碟空間已滿,清理磁碟即可。

7. GLIBC 版本問題

解決方案:升級 gcc ,具體方法請百度。

升級結束後: 命令行輸入:ldd FineAssist_x86_64.so,如下圖所示,即為正常。

1645429220719435.png

8. FinePrivacy未知異常

拿啟動日誌交握技術支援,請前往 【服務平台>線上支援】。

9. fontconfig缺失/Dec-Basic_Non_Existent

伺服器部署包中的 OpenJDK,因版權原因不帶字體包。如果 Linux 本身缺少字體包就會報錯:fontconfig缺失,或Dec-Basic_Non_Existent。

因此需要使用者在進行部署前,先檢查fontconfig。

檢查方法:

使用者可透過在伺服器上執行fc-list命令,或者檢查/usr/bin目錄下是否存在fc-list檔案,來判斷伺服器是否已安裝好fontconfig。

安裝方法:

使用者可根據自身系統情況自行百度安裝fontconfig的方法。

一般在 Linux 中直接執行命令 yum install fontconfig,即可成功安裝,然後重啟帆軟應用。

10. 伺服器環境缺少libxrender和libxtst圖形庫

解決方案一:設定headless=true(推薦)

headless 模式是系統的一種工作模式,如果系統屬性 java.awt.headless被設定true,那麼headless工具包就會被使用。

本節展示 Tomcat 環境下啟動 headless 模式的步驟。

  • Windows:進入%Tomcat_HOME%\bin目錄。尋找名為setenv.bat的檔案。如果檔案不存在,可以建立一個新的setenv.bat檔案。在檔案中新增以下行來設定,配置完成後重啟工程。

set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true

  • Linux:進入%Tomcat_HOME%\bin目錄。尋找名為setenv.sh的檔案。如果檔案不存在,可以建立一個新的setenv.sh檔案。在檔案中新增以下行來設定,配置完成後重啟工程。

JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

解決方案二:安裝缺失圖形庫

外網使用者:

執行命令行線上安裝圖形庫(範例為unbuntu系統)

  • apt-get install libxrender-dev

  • apt-get install libxtst-dev

內網使用者:

1)存取 https://developer.aliyun.com/packageSearch?word=libxrender ,按照系統和版本選擇安裝包
2)手動安裝,安裝語句範例:

  • deb包系列的系統(如 ubuntu) : dpkg -i **.deb 

  • rpm包系列的系統(如 centos) : yum install **.rpm

11. msvcr120.dll 運作庫不存在

問題描述

Windows 系統中,安裝或部署 5.1.15 及之後的版本時,報錯 msvcr120.dll 運作庫不存在。

解決方案

建議安裝 msvcr120.dll 檔案後再進行部署,缺失檔案下載請參見:Microsoft Visual C++ Redistributable 最新支援的下載

注:只有下載Visual Studio 2010 (VC++ 10.0) SP1版本才能解決該問題

附件列表


主题: 部署整合
  • 有帮助
  • 没帮助
  • 只是浏览
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙