把Tomcat注冊為windows服務


配置環境變量

JAVA_HOME=D:\java

CLASSPATH=.;%JAVA_HOME%\lib;

PATH=%JAVA_HOME%\bin;

提示:一般jre默認在jdk目錄下%JAVA_HOME%\jre。如果JRE不在jdk目錄下,需要配置一個JRE_HOME指向具體的jre路徑。

注冊windows服務

注意:由於xp之后的windows改變了權限策略,注冊windows服務需要管理員權限,必須以管理員權限打開cmd窗口,才能注冊成功。

例如在win7系統下,進入目錄C:/windows/system32/

 

  1. 在cmd窗口執行命令:service.bat install

 

 

  1. 打開服務管理工具,可以看到已經注冊的服務;

服務啟停

命令行方式

以管理員權限打開cmd窗口

服務名稱為:tomcat7

啟動服務:net start tomcat7

停止服務:net stop tomcat7

在服務管理工具中啟動服務

設置為開機啟動

右擊服務,選擇屬性,把服務啟動類型改為自動;

通過tomcat服務配置工具啟動

進入tomcat\bin目錄,以管理員權限運行tomcat7w.exe

FAQ:

服務注冊失敗原因

1)如果是win7,有可能是沒有以管理員身份運行cmd窗口

2)也有可能是jdk版本和tomcat不配套,嘗試更換jdk后再注冊;

2.系統錯誤109 管道已結束

命令行方式停止報錯截圖

在服務管理工具中停止服務,報錯截圖

在網上找了好久,資料很少,調整了停止服務的超時時間,也還是不行。后來在這篇文章(http://blog.sina.com.cn/s/blog_824f62b3010112s3.html)的啟發下,給method配置了一個return方法,竟然不報錯了。修改方法如下:

Timeout時間最好設置長一點,20秒以上,不然停止服務還是可能報錯。如果設置成0,我猜測應該是沒有超時時間,也就是最大超時時間,但是實際使用服務管理工具停止服務時,進度條會一直卡着不動,命令行方式也會等很久,然后報"服務沒有響應控制功能",不知道為什么。

附錄:

service.bat配置參數說明

set SERVICE_NAME=Tomcat7

set PR_DISPLAYNAME=Apache Tomcat 7

set PR_DESCRIPTION=Apache Tomcat 7.0.5 Server - http://tomcat.apache.org/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM