部署环境异常

  • 文檔創建者:Roxy
  • 編輯次數:2
  • 最近更新:Nikozhan 于 2026-01-21
  • 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

    附件列表


    主題: 部署升級
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s後關閉

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

    反馈已提交

    网络繁忙