做法與 Tomcat 6.X 升級安裝備忘 差不多。
將壓縮檔解壓縮到指定目錄後,執行 */tomcat/bin/start.bat 即可運行。
若要安裝到系統服務,執行 */tomcst/bin/service install tomcat 即可。
移除已安裝到系統服務,執行 */tomcst/bin/service remove tomcat 即可。
108.09.26
一直以來的習慣安裝至系統服務都是直接採用 service install tomcat。後來發現執行 tomcat9w.exe 出現 "指定服務並不是已安裝的服務"的警告。此狀況只要在安裝時將名稱改成與安裝版本相符數字即可解決(e.g. service install tomcat9)
107.XX.XX
不過這次的安裝有點奇怪。如果沒有在系統的環境變數內加入JRE_HOME="D:\JRE"時。在利用 service install tomcat 時會出現 Warning: Neither 'server' nor 'client' jvm.dll was fonund at JRE_HOME.(如圖);此時服務不會正常的自動執行。
明明已在 setclasspath.bat 與 catalina.bat 內直接指定 JRE 位址。查了一下,有人反應只要在 service.bat 也加入指定 JRE位址時。就可以順利的利用 */tomcst/bin/service install tomcat 指令將 tomcat 服務加入到系統服務內。
note. 後來試過。其實只要在 service.bat 內指定 JRE 位址就可以了。 setclasspath.bat 與 catalina.bat可以不用指定。
107.11.16
不知是不是後續的新版本有加入強制檢查 JAVA_HOME的部份。後續的重新佈署 (service install tomcat ) 時會出現以下訊息
The JAVA_HOME enviroment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not JRE
後來的做法,因為僅是要將它佈署到作業系統的服務內,所以後來就直接在系統的環境變數下指定 JDK 位址再直接進行佈署到作業系統的服務內的動作。佈署好後就直接移除掉 JDK 相關檔案。
107.11
採用 Amazon Corretto 所提供的 JRE,原已佈署到服務內,主機重新啟動是無法自動執行 Tomcat,但透過 /tomcat/bin/startup.bat 可以正常執行。後來查一下,看來應是 Tomcat 與 JRE 所選用的位元版本不一致所導致的,細節可操考這頁的說明。
後來直接重新下載 tomcat 64bit 版本,直接將 64bit 版本內的 /bin/* 直接覆蓋到 32bit 版本內(保留 catalina.bat, setclasspath.bat, catalina.bat ) 後就可以正常運作了。
沒有留言:
張貼留言