完全自主创建Wrapper Tomcat容器
Wrapper Tomcat 使用说明
1. Wrapper Tomcat 简介
1) Wrapper Tomcat 是使用Apache Tomcat 整合 Java Service Wrapper 的一个servlet容器。使用Wrapper Tomcat与使用Apache Tomcat运行时无任何差别,区别在于Tomcat启动与配置时有点不一样。整合Java Service Wrapper ,使用Wrapper 方式启动Tomcat的初衷是解决Apache Tomcat使用jsvc方式启动的日志文件大小不可控问题。
2) Wrapper Tomcat目录结构
├─bin
├─conf
│ └─Catalina
│ └─localhost
├─lib
├─logs
├─temp
├─webapps
└─work
2. Wrapper Tomcat 优点
1) 解决Apache Tomcat使用jsvc方式启动的日志文件大小不可控问题。
2) 当Wrapper Tomcat 内存溢出之后可以自动重启Tomcat。
3) 配置非环境变量下的JDK,可将java.exe 重命名为tomcat.exe 或其他*.exe,便于在任务管理器中区分Tomcat进程。
4) 注册成服务之后可设置开机启动
3. Wrapper Tomcat 环境
Wrapper Tomcat 可在Window,Linux,Mac环境下运行
启动Tomcat需要有JDK
4. Wrapper Tomcat 配置 (wrapper.conf )
在conf 目录下有一个配置文件wrapper.conf,文件打开之后结构如下图类似(我使用notepad++打开)
配置文件使用key=value方式来配置,类似于java中的*.properties配置文件
#号为注释
配置项:
1) encoding=UTF-8
配置wrapper编码,默认使用UTF-8
2) wrapper.java.command=java
设置JDK环境变量,此处如果配置了set.JAVA_HOME,则后面可以使用 wrapper.java.command=%JAVA_HOME%/bin/java.exe
另外,Wrapper设置一个变量可以这样设置 set.变量名称=变量值,例如 设置PATH :
set.PATH=C:/Window/System32;
使用时可以使用 %变量名称%取得变量值,与在window下的bat文件语法相似,如果系统已经配置了环境变量,也可以使用 %变量名称% 取得变量值,例如系统已经定义了 JAVA_HOME 这个变量,可以直接使用 %JAVA_HOME% 取得变量值,这样就不需要使用set.JAVA_HOME
3) wrapper.java.mainclass= org.tanukisoftware.wrapper.WrapperJarApp
#此处设置java Wrapper 启动入口类,一般使用默认配置即可
4) wrapper.java.classpath.1=./*.jar
配置java环境变量 .表示当前目录(wrapper.exe)所在文件目录,如果需要配置多个环境变量,可以使用wrapper.java.classpath.序号=值,例如:
wrapper.java.classpath.1=./*.jar
wrapper.java.classpath.2=../lib/*.jar
wrapper.java.classpath.3=../bin/*.jar
5) wrapper.java.library.path.1=./
配置wrapper.dll所在文件目录,或者其他dll所在文件目录
6) wrapper.java.initmemory=128
配置Java初始化内存,单位MB
7) wrapper.java.maxmemory=768
配置Java堆内存,单位MB
8) wrapper.app.parameter.1=./bootstrap.jar
配置java入口启动java包,前提是前面配置了
wrapper.java.mainclass= org.tanukisoftware.wrapper.WrapperJarApp
如果使用
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
则后面wrapper.app.parameter.*配置如下:
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
9) wrapper.java.additional.1=-Dcatalina.base=../
wrapper.java.additional.2=-Dcatalina.home=../
wrapper.java.additional.3=-Djava.io.tmpdir=../temp
配置Tomcat启动环境变量
10) wrapper.logfile=../logs/wrapper.log
配置日志文件存放目录
11) wrapper.logfile.format=LPTM
配置日志文件输出格式(下面摘自Wrapper 官网)
'L' for log level,
'P' for prefix,
'D' (Since ver. 3.1.0) for thread,
'T' for time,
'Z' for millisecond time,
'R' quite duration milliseconds showing the time since the previous JVM output,
'U' (Since ver. 3.5.0) for approximate uptime in seconds (based on internal tick counter and is valid up to one year from startup),
'M' for message.
12) wrapper.logfile.maxsize=5m
配置日志文件最大体积0表示无限制 5m表示5MB ,记得要加上单位,如不加单位,默认是b
13) wrapper.logfile.maxfiles=20
配置最大日志文件存放数,多余的会被删除
14) 配置window服务
# Name of the service
wrapper.name=tomcat8095(名称)
# Display name of the service
wrapper.displayname= tomcat8095(显示名称)
# Description of the service
wrapper.description= tomcat8095 (名称描述)
# Service dependencies. Add dependencies as needed starting from 1
#wrapper.ntservice.dependency.1=
# Mode in which the service is installed. AUTO_START, DELAY_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START