在伺服器部署中,我們經常會出現“在一個伺服器上運作多個tomcat服務”的情況。
使用如下方法設定,可以無限複制平移擴充tomcat,無需修改其他任何環境變量配置。(當然在同一個機器上複制tomcat 後,端口還是需要修改的 ^_^)
檢視 tomcat bin 目錄下的 catalina.sh 檔案,會發現,它會判斷 bin 目錄下是否有 setenv.sh 檔案,如果存在,會先執行。
按其中英文的解讀說明的意思大概是:我們可以使用這個檔案來動态設定運作時環境變量。
是以,我們在 bin 目錄下,建立檔案 setenv.sh 内容:
#!/bin/sh
#get tomca dir
catalina_home=$(cd `dirname $0`;cd ..;pwd)
并使用 chmod +x setenv.sh 賦予可執行權限。
腳本中的意思就是動态擷取tomcat 主目錄給 catalina_home 指派。
這樣以來,我們平移擴充的多個tomcat 都會自動讀取自己的主目錄來獨立運作。