反饋已提交

網絡繁忙

Tomcat伺服器維運

一、Tomcat 埠配置

1
使用場景。
  1. 埠是應用程式和外界進行通訊的端點。在同一臺伺服器中,每個應用需要一個獨立的埠來保證正常的通訊,埠與埠之間是透過埠號來區分的,配置埠就是為應用程式分配一個獨一無二的埠號。

  2.  Tomcat 預設埠號為 8080。如果同一臺伺服器上有其他應用佔用了8080埠,Tomcat 將無法正常啟動,這種情況下就需要為Tomcat重新配置埠。

  3. 如果伺服器上有多個 Tomcat 同時執行,那就需要給每個 Tomcat 單獨配置一個埠。

2
伺服器中只有一個Tomcat時配置埠。
  1. 如果要修改 Tomcat 的埠號,只需修改%tomcat_home%\conf\server.xml即可。

  2. 比如我們想將埠號改為 8081,則用文字編輯器開啟 server.xml,找到Connector標籤,將其中的 port屬性值改為“8081”即可:

    <Connector port="8081" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="8443" />。

  3. 如果將埠號改為 80,則訪問Tomcat時埠號可以省略,即在瀏覽器輸入 http://localhost  就可以進入Tomcat的歡迎介面了。

1.png

3
一個伺服器中有多個Tomcat時配置埠號。
  1. 假設1個伺服器中有2個Tomcat,其中一個Tomcat使用預設的埠號8080。為了讓兩個Tomcat能正常執行,需要為第2個 Tomcat 配置新埠。

  2. 首先找到第二個 Tomcat 的安裝根目錄中的conf資料夾,然後用文字編輯器開啟資料夾中的 server.xml。需要做3處修改:

    HTTP 埠。預設為8080,修改為 8081:

    <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 。

    關閉 Tomcat 服務埠。預設為,8005,修改為 8006:

    <Server port="8006" shutdown="SHUTDOWN">。

    AJP 埠,預設為 8009,修改為 8010:

    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />。

  3. 儲存 server.xml,重啟第2個Tomcat,這2個 Tomcat 就可以同時使用了。 

二、調整安裝版Tomcat的記憶體大小

1
使用場景。
  1. 把FineReport部署到Tomcat裡以後,【預覽報表】、點選【查詢】時,報表工程需要對報表進行運算,運算的中間資料都需要暫存在伺服器記憶體中,因此報表工程的執行佔用伺服器的記憶體,而當沒有空記憶體可用時,就會出現記憶體溢位錯誤:java.lang.OutOfMemoryError:Java heap space。

  2. 在製作報表的過程中,如果範本中呼叫的資料量較大,或者預覽範本時出現卡頓的情況,就需讓FineReport 工程所在的 Tomcat 可使用更多的伺服器記憶體,這可以透過修改Tomcat記憶體配置來實現。

  3. 修改Tomcat記憶體配置需要設定2個值:初始記憶體和最大記憶體。初始記憶體決定了起始階段Tomcat可佔用的記憶體,最大記憶體決定了Tomcat在執行時可以佔用的最大記憶體,如果報表工程造執行時暫存的資料超出了這個最大記憶體,就會觸發溢位錯誤。

  4. 本文將詳細說明如何修改 Tomcat 記憶體配置。Tomcat分為解壓版和安裝版,兩種版本的修改方式略有不同。

2
調整解壓版Tomcat的記憶體大小。
  1. 透過 startup.bat 或 startup.sh 啟動 Tomcat。

  2.  在Windows 系統下,修改JAVA_OPTS(這裡以 Windows10+Tomcat8+JDK1.8.0 為例,不同版本可能略有不同,請自行處理)。找到 %Tomcat_Home%/bin/catalina.bat,新增下列指令碼:set JAVA_OPTS= -Xms512M -Xmx2048M。

  3. -Xms:java Heap 初始記憶體。 預設為伺服器物理記憶體的 1/64。

  4. -Xmx:java heap 最大記憶體。對於Tomcat來說,最大可使用記憶體不要超過伺服器物理記憶體的80%。

  5. 透過上述設定,初始化記憶體為 512MB,可以使用的最大記憶體為 2048MB。必須要有【M】,如果沒有,則系統預設單位為KB,具體設定如下圖所示。

  6. 將 Tomcat 啟動程式註冊成系統服務時,如果將 Tomcat 啟動程式註冊為系統服務,詳情參見 將報表服務啟動程式註冊為系統服務,應修改 JVM 的 Xms 和 Xmx 大小:set JAVA_OPTS= -Xms512M -Xmx1024M。

  7. Linux 系統下,找到%Tomcat_Home%/bin/catalina.sh,新增程式碼:JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M"。

  8. 修改後,重啟 Tomcat 設定生效。

3
調整安裝版Tomcat的記憶體大小
  1. 如果是 Tomcat 安裝版的,這裡以 Win10+Tomcat8+JDK1.8 為例(不同版本可能略有不同請自行處理)。

  2. 直接雙擊 Tomcat 出現在螢幕右下角的系統託盤,開啟Java選項卡,修改Initial Memory Pool和Maximum Memory Pool即可,前者為初始記憶體,後者為最大記憶體,最大記憶體盡量不要超過物理記憶體的 80%。如下圖所示。

3.png

三、查看 Tomcat 記憶體使用情況

1
新增使用者。
  1. 開啟 %Tomcat_Home%/conf/tomcat-users.xml 檔案,在 tomcat-users 標籤裡新增一個使用者,程式碼:<role rolename="manager-gui"/> <user username="tomcat" password="s3cret" 。

4.png

2
 進入圖形化介面修改記憶體配置。
  1. 訪問 IP:port/manager/status,本文中的示例為示例為:http://localhost:8080/manager/status ,輸入剛剛新增的使用者名稱和密碼,這裡示例為 tomcat/s3cret。

  2. 進入 Server Status 頁面後,可以在 JVM 表格中看到如下參數:

    Free memory:當前空閒記憶體;

    Total memory:當前總記憶體;

    Max memory:最大可使用記憶體。

  3. 注1:埠號如果遇到有 java.lang.OutOfMemoryError: PermGen space 這種異常拋錯,可以在所有修改記憶體的地方加上一個命令語句:-XX:MaxPermSize=256m 來進行限制。

  4. 注2:所有調整記憶體的數字都要根據使用者系統的資料量來進行調整。

  5. 如下圖所示。



  • 四、對Tomcat外部的報表工程進行部署

1
使用場景。
  1. 常見的部署操作是將報表工程的檔案放到Tomcat內部。有的使用者為了便捷地管理伺服器的檔案,需要將報表工程放在特定的位置。

  2. 實際上,即使報表工程不放在Tomcat內部,也可以實現部署,只需要對Tomcat進行配置,就可以讓Tomcat讀取報表工程的檔案。

2
前期準備。
  1. 將報表工程放在Tomcat以外的位置。

  2. 報表工程所在目錄:D:\FineReport_10.0\webapps\webroot。

  3. Tomcat 所在目錄:D:\apache-tomcat-8.5.27。

3
配置報表工程。
  1. 在 D:\apache-tomcat-8.5.27\conf\Catalina\localhost 下新建檔案 FR.xml(FR是報表工程的作為應用程式時的應用名)。使用文字編輯器開啟 FR.xml,輸入程式碼並儲存:<Context path="/FR" reloadable="false" docBase="D:\FineReport_10.0\webapps\webroot" />。

  2. 注1:path屬性的值必須與檔名相同。

  3. 注2:如果 conf 下面沒有 Catalina 資料夾,直接新建 Catalina 資料夾即可。

7.png


4
查看是否部署成功。
  1. 重新啟動 Tomcat, 啟動瀏覽器,在位址列輸入http://ip:伺服器埠號/FR/decision

  2. 其中,FR 就是部署時定義的報表應用名。如果能成功看到設定管理員頁面,則表明 FineReport 成功部署到了Tomcat。

2.png

附件列表


主題: 部署集成
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉