一、下載含 service.bat 的 Tomcat
Tomcat 中無 service.bat時,在 Tomcat下載地址 對應的tomcat版本文件夾中的 bin 文件夾中,下載 windows 版本的 Tomcat,選擇bin路徑下的apache-tomcat-[version]-windows-x64.zip。
- 打開 Tomcat下載地址,如下圖所示。
- 按照
1/2/3/4四張圖的順序,下載Tomcat,在bin中,即可看到service.bat文件。
注:下載 windows 版本的 Tomcat,如圖 4 所示 apache-tomcat-8.5.79-windows-x64.zip。
二、安裝 Tomcat 至服務中
- 修改 Tomcat 文件夾名稱(修改的名稱隨意)。
-
進入 bin 文件夾中,找到 service.bat ,打開後,將
set DEFAULT_SERVICE_NAME=Tomcat8修改為set DEFAULT_SERVICE_NAME=Tomcat8579,即將DEFAULT_SERVICE_NAME修改為Tomcat 文件夾名稱。 - 將
--DisplayName "Apache Tomcat 8.5 %SERVICE_NAME%"修改為--DisplayName "%SERVICE_NAME%"(可不修改)。
- 將 bin 文件夾下的
tomcat8.exe和tomcat8w.exe改為tomcat8579.exe和tomcat8579w.exe。 - 最後 在 bin 文件夾下輸入 cmd,運行
service.bat install即可完成安裝。在服務中即可看到Tomcat8579服務。
- 在服務中啓動 Tomcat8579 服務,即可訪問網站
http://localhost:8080。
三、卸載服務中的 Tomcat
- 在需要卸載的 Tomcat 的 bin 文件夾下輸入 cmd,運行
service.bat remove即可卸載 Tomcat 服務。
四、問題
1、執行第 2 步:安裝 Tomcat 至服務器中的 service.bat install 時,Warning: Neither 'server' nor 'client' jvm.dll was found at JRE_HOME.
在 service.bat 的 setlocal之前,設置 JAVA_HOME和 JRE_HOME,先執行下載 Tomcat 命令service.bat,再重新執行 service.bat install 即可。
2、執行第 2 步出現Failed installing 'Tomcat8579' service
原因:Tomcat 服務未卸載。
處理方式:先執行 service.bat remove,再執行 service.bat install即可。
3、執行第 3 步出現 Failed removing 'Tomcat8579' service
原因:Tomcat 服務已卸載。
處理方式:無需卸載,直接執行 service.bat install即可安裝 Tomcat 服務。
4、服務中啓動 Tomcat 時,Tomcat/temp/shiro-ehcache 報錯“拒絕訪問”
關閉 Tomcat 服務,刪除 shiro-ehcache,重啓服務即可。
5、由於Tomcat的配置問題,項目運行後將所有的日誌都輸出到了log/tomcat-stdout.yyyy-MM-dd.log文件中,但是它並不會根據日期進行分包,長期下來日誌文件比較大,且一般 Spring 項目都會用户自定義日誌文件,導致雙份日誌文件,因此要屏蔽掉 Tomcat 的 stdout.yyyy-MM-dd.log
這個文件也是最佔用空間的文件,找到bin/service.bat或bin/service.sh文件,打開之後,刪除掉 --StdOutput auto ^,StdError 同理,刪除掉--StdError auto ^ ,重新卸載和安裝即可。
6、[error] [ 7252] 指定的服務已標記為刪除。
- 確保服務已經停止。在嘗試刪除服務之前,首先通過服務管理器停止該服務或使用命令行中的net stop命令。
- 關閉服務管理器窗口。如果服務管理器仍然打開,關閉它後再嘗試刪除服務。