使用Java Service Wrapper在Linux下配置Tomcat應用


前言

Java Service Wrapper是Tanuki Software的一個產品,可以將Java應用注冊成Windows或Linux服務,使其可以隨系統開機啟動,同時可以監控Java應用的狀態,使其在出異常狀況時自動啟動,其具體特性請參考官方文檔Overview of Wrapper features ,本文記錄了筆者在官方文檔指導下在Linux環境下用Java Serivice Wrapper配置Tomcat應用的實踐。

前提

安裝部署

Java安裝到/usr/local/java8/ 具體步驟略

Tomcat安裝到/usr/local/tomcat/ 具體步驟略

將Java Web應用打成war包,拖到tomcat/webapps/下 具體步驟略

解壓縮Java Service Wrapper壓縮包到/usr/local/wrapper/,開始安裝wrapper文件:

bin目錄

復制以下文件到tomcat/bin目錄:

/usr/local/wrapper/bin/wrapper
/usr/local/wrapper/src/bin/sh.script.in

腳本文件sh.script.in重命名為你的應用名,如ABC。

用編輯器打開ABC,找到APP_NAME,將值改成與文件名一致,APP_LONG_NAME的值改為應用長名。

APP_NAME="ABC"
APP_LONG_NAME="ABC Application Server"

保存關閉文件,給腳本文件ABC授執行權限

lib目錄

復制以下文件到tomcat/lib目錄:

/usr/local/wrapper/lib/libwrapper.so
/usr/local/wrapper/lib/wrapper.jar

conf目錄

復制wrapper.conf到tomcat/conf目錄,編輯wrapper.conf文件:

//配置java路徑,根據具體環境配置,可以用絕對路徑,也可以使用環境變量
set.JAVA_HOME=/usr/local/java8/
set.CATALINA_HOME=/usr/local/tomcat
set.CATALINA_BASE=/usr/local/tomcat
wrapper.java.command=/usr/local/java8/bin/java
 
//JVM參數。將應用正常啟動時所配置的參數復制過來。具體步驟:
// 1.命令行啟動應用
// 2.用ps –ef | grep tomcat找到應用進程
// 3.復制該進程的參數,將-D開頭的參數逐條配置到下面
wrapper.java.additional.1=-Djava.util.logging.config.file=%CATALINA_HOME%/conf/logging.properties
wrapper.java.additional.2=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
wrapper.java.additional.3=-Djava.endorsed.dirs=%CATALINA_HOME%/common/endorsed
wrapper.java.additional.4=-Dcatalina.base=%CATALINA_BASE%
wrapper.java.additional.5=-Dcatalina.home=%CATALINA_HOME%
wrapper.java.additional.6=-Djava.io.tmpdir=%CATALINA_BASE%/temp
 
//類路徑。與獲取JVM參數方式相同,將類路徑逐條配置到下面
wrapper.java.classpath.1=%CATALINA_HOME%/bin/bootstrap.jar
wrapper.java.classpath.2=%CATALINA_HOME%/bin/tomcat-juli.jar
wrapper.java.classpath.3=%CATALINA_HOME%/lib/wrapper.jar
 
//lib路徑。
wrapper.java.library.path.1=%CATALINA_HOME%/lib
 
//Wrapper集成主類。有4種集成方式,適合tomcat這樣啟動使用一個類,
//停止使用另一個類的應用的是WrapperStartStopApp類
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
 
//tomcat應用參數,無需修改
wrapper.app.parameter.1=org.apache.catalina.startup.Bootstrap
wrapper.app.parameter.2=1
wrapper.app.parameter.3=start
wrapper.app.parameter.4=org.apache.catalina.startup.Bootstrap
wrapper.app.parameter.5=TRUE
wrapper.app.parameter.6=1
wrapper.app.parameter.7=stop

安裝服務

進入/usr/local/tomcat/bin/目錄,修改腳本文件ABC,設置隨系統啟動

//設置服務隨系統啟動
USE_UPSTART=true

保存退出,以root權限執行

$ sudo ./ABC install

應用將注冊為upstart服務

Notice: 只對Wrapper 版本3.4.0之后有效

測試

執行命令

service start | stop | restart | status

之后到tomcat/logs/目錄下查看wrapper.log,沒有異常就是成功。

重啟機器,登錄后查看進程里有ABC在運行,證明隨系統啟動正常,或者訪問Java Web應用,證明應用正常啟動。


免責聲明!

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



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