最新历史版本 :部署环境异常 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

1. 概述编辑

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

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下。如下圖所示:

3.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 這個檔案,11.0 啟動需要呼叫這個檔案。

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

1645413712422832.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 目錄無法寫入檔案,可能導致這個現象的原因和解決方案是:

  • 普通使用者沒有權限,用管理者給 /tmp 賦權chmod -R 1777 /tmp1代表這是粘滯位,他的作用就是只有建立者和 root 可以刪除。

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

6. java.io.tmp 無法寫入编辑

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

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

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

7. GLIBC 版本問題编辑

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

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

1645414147489235.png

8. FinePrivacy未知異常编辑

拿啟動日誌聯絡技術支援,技術支援聯絡方式:前往「服務」,選擇「線上支援」、電話「400-811-8890」。

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,然後重啟 Tomcat 伺服器,即可成功安裝 。

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