本文涉及tomcat、wrapper、jenkins、java环境等的操作。
前言与准备tomcat10下载目录结构(以tomcat10为例说明)apache-tomcat-10.0.14目录结构wrapper 下载wrapper-windows-x86-64-3.5.42 目录结构调试组合合并目录关于wrapper.conf文件的放置路径:配置main入口方法安装安装日志个性化日志个性化其它wrapper 更多服务介绍wrapper使用帮助 命令行启动示例更多升级log4j(此处不可用于生产环境)不推荐使用tomcat10运行实例-Jenkinsjava直接运行tomcat9中启动接口操作api 操作script console 操作总结
文中提供超链接可能部分为翻墙后的检索结果,如有打不开,请提前知晓为此原因。
apache tomcat 下载地址获取
扩展,其它Apache Software Foundition 孵化项目下载 https://dlcdn.apache.org/
apache tomcat 提供的使用手册,自选相应章节进行阅读:
https://tomcat.apache.org/tomcat-7.0-doc/ [兼容java8以更新的jre或jdk]
https://tomcat.apache.org/tomcat-8.0-doc/ [兼容java8以更新的jre或jdk]
https://tomcat.apache.org/tomcat-9.0-doc/ [兼容java8以更新的jre或jdk]
https://tomcat.apache.org/tomcat-10.0-doc/ [兼容java8以更新的jre或jdk]
1F:\chromeshell\tutorial\apache-tomcat-10.0.14>tree /f
2F:.
3│ BUILDING.txt
4│ CONTRIBUTING.md
5│ LICENSE # 版权说明
6│ NOTICE
7│ README.md
8│ RELEASE-NOTES
9│ RUNNING.txt
10│
11├─bin
12│ bootstrap.jar
13│ catalina-tasks.xml
14│ catalina.bat
15│ catalina.sh
16│ ciphers.bat
17│ ciphers.sh
18│ commons-daemon.jar
19│ configtest.bat
20│ configtest.sh
21│ daemon.sh
22│ digest.bat
23│ digest.sh
24│ makebase.bat
25│ makebase.sh
26│ migrate.bat
27│ migrate.sh
28│ service.bat
29│ setclasspath.bat
30│ setclasspath.sh
31│ shutdown.bat
32│ shutdown.sh
33│ startup.bat
34│ startup.sh
35│ tcnative-1.dll
36│ tomcat-juli.jar
37│ tomcat10.exe
38│ tomcat10w.exe
39│ tool-wrapper.bat
40│ tool-wrapper.sh
41│ version.bat
42│ version.sh
43│
44├─conf
45│ catalina.policy
46│ catalina.properties
47│ context.xml
48│ jaspic-providers.xml
49│ jaspic-providers.xsd
50│ logging.properties
51│ server.xml
52│ tomcat-users.xml
53│ tomcat-users.xsd
54│ web.xml
55│
56├─lib
57│ annotations-api.jar
58│ catalina-ant.jar
59│ catalina-ha.jar
60│ catalina-ssi.jar
61│ catalina-storeconfig.jar
62│ catalina-tribes.jar
63│ catalina.jar
64│ ecj-4.20.jar
65│ el-api.jar
66│ jakartaee-migration-1.0.0-shaded.jar
67│ jasper-el.jar
68│ jasper.jar
69│ jaspic-api.jar
70│ jsp-api.jar
71│ servlet-api.jar
72│ tomcat-api.jar
73│ tomcat-coyote.jar
74│ tomcat-dbcp.jar
75│ tomcat-i18n-cs.jar
76│ tomcat-i18n-de.jar
77│ tomcat-i18n-es.jar
78│ tomcat-i18n-fr.jar
79│ tomcat-i18n-ja.jar
80│ tomcat-i18n-ko.jar
81│ tomcat-i18n-pt-BR.jar
82│ tomcat-i18n-ru.jar
83│ tomcat-i18n-zh-CN.jar
84│ tomcat-jdbc.jar
85│ tomcat-jni.jar
86│ tomcat-util-scan.jar
87│ tomcat-util.jar
88│ tomcat-websocket.jar
89│ websocket-api.jar
90│
91├─logs
92├─temp
93│ safeToDelete.tmp
94│
95├─webapps
96│ ├─docs # 文件结构,部署好启动后,可以访问 http://127.1.1.1:8080/docs/来访问tomcat10的集成文档,下有截图
97│ ├─exmples # 示例页面,部署好启动后,可以访问 http://127.1.1.1:8080/examples/来访问tomcat10的自带示例页面,下有截图
98...
99
选择相应的版本下载:
https://wrapper.tanukisoftware.com/doc/english/download.jsp
wrapper 准备与说明
官方提供32位的社区(免费)、标准(收费)、专业(收费)版本,64位不提供社区版本,但提供源码可自行编译。
此处引用一个红帽TAM作者[ Simon Krenger ] 发出的编译免费版本,作者是一位关注 Kubernetes, Containers, Linux and Open Source 领域的瑞士博主(是一位 RHCA)。
xxxxxxxxxx
301F:\chromeshell\tutorial\wrapper-windows-x86-64-3.5.42>tree /f
2#以下脚本的名称可以任意修改指定。
3F:.
4├─bin
5│ DemoApp.bat
6│ InstallTestWrapper-NT.bat # 安装服务脚本
7│ PauseTestWrapper-NT.bat
8│ QueryTestWrapper-NT.bat
9│ README.txt
10│ ResumeTestWrapper-NT.bat
11│ SetupTestWrapper.bat
12│ StartTestWrapper-NT.bat
13│ StopTestWrapper-NT.bat
14│ TeardownTestWrapper.bat
15│ TestWrapper.bat # console控制台测试启动调试脚本
16│ TestWrapperCommand.bat
17│ UninstallTestWrapper-NT.bat # 卸载服务脚本脚本
18│ wrapper.exe
19│
20└─lib
21| wrapper.dll
22| wrapper.exp
23| wrapper.ilk
24| wrapper.jar # 正式java类
25| wrapper.lib
26| wrapperdemo.jar
27| wrappertest.jar # 调试java类
28| wrappertest2.jar
29├─conf
30| wrapper.conf
xxxxxxxxxx
101# 位于 TestWrapper.bat 脚本中的环境变量可以指定 wrapper.conf 的路径
2set _WRAPPER_CONF_DEFAULT="../conf/%_WRAPPER_BASE%.conf"
3此时需要将wrapper-windows-x86-64-3.5.42/conf/wrapper.conf示例模板文件复制到apache-tomcat-10.0.14/conf/wrapper.conf
4
5或
6set _WRAPPER_CONF_DEFAULT="./%_WRAPPER_BASE%.conf"
7此时需要将wrapper-windows-x86-64-3.5.42/conf/wrapper.conf示例模板文件复制到apache-tomcat-10.0.14/bin/wrapper.conf
8即和wrapper.exe 在同一目录。
9
10注意同时修改
注意所有用到的脚本要保持一致。
从wrapper.conf中定位以下几行成为组合,不论tomcat或wrapper均是以此类似参数启动服务进程。
以wrapper.conf为例(注意顺序)
x1# http://wrapper.tanukisoftware.com/doc/english/integrate.html
2
3# 以下2选一,方法定义在wraper.jar中
4#wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main
5wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
6
7# Java Classpath (include wrapper.jar) Add class path elements as
8# needed starting from 1
9
10# 以下3组3选一
11# wrapper.java.classpath.1=../lib/wrappertest.jar
12
13
14#wrapper.java.classpath.1=../lib/wrappertest.jar
15#wrapper.java.classpath.2=../lib/wrapper.jar
16#wrapper.java.classpath.3=../bin/bootstrap.jar
17#wrapper.java.classpath.4=../bin/tomcat-juli.jar
18
19wrapper.java.classpath.1=../lib/wrapper.jar
20wrapper.java.classpath.2=../bin/bootstrap.jar
21wrapper.java.classpath.3=../bin/tomcat-juli.jar
22
23对应的jar包可以7z右键展开jar包定位查看。
24
25
右键 InstallTestWrapper-NT.bat ,以管理员权限安装服务脚本
xxxxxxxxxx
91 # Name of the service # 服务名称,可能通过 sc 命令管理启动、停止等
2 wrapper.name=testwrapper
3
4 # Display name of the service # 显示名称
5 wrapper.displayname=Test Wrapper Sample Application # 建议修改显示名称,方便排序服务名称后方便查找
6
7 # Description of the service # 描述信息
8 wrapper.description=Test Wrapper Sample Application Description
9
xxxxxxxxxx
371# 修改 wrapper.conf
2
3#********************************************************************
4# Wrapper Logging Properties
5#********************************************************************
6# Enables Debug output from the Wrapper.
7# wrapper.debug=TRUE
8wrapper.adviser=FALSE
9# Format of output for the console. (See docs for formats)
10wrapper.console.format=M
11
12# Log Level for console output. (See docs for log levels)
13wrapper.console.loglevel=INFO
14
15# Log file to use for wrapper output logging.
16wrapper.logfile=../logs/wrapper.YYYYMMDD.log
17wrapper.logfile.rollmode=DATE
18
19# Format of output for the log file. (See docs for formats)
20wrapper.logfile.format=M
21
22# Log Level for log file output. (See docs for log levels)
23wrapper.logfile.loglevel=INFO
24
25# Maximum size that the log file will be allowed to grow to before
26# the log is rolled. Size is specified in bytes. The default value
27# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
28# 'm' (mb) suffix. For example: 10m = 10 megabytes.
29wrapper.logfile.maxsize=600m
30
31# Maximum number of rolled log files which will be allowed before old
32# files are deleted. The default value of 0 implies no limit.
33wrapper.logfile.maxfiles=180
34
35# Log Level for sys/event log output. (See docs for log levels)
36wrapper.syslog.loglevel=NONE
37
将 war 包解压到webapps目录下,重启wrapper 服务。后面以jenkins为例说明
将其中放入apache-tomcat-10.0.14/bin/中并在业务中引入即可。
xxxxxxxxxx
461F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin>wrapper.exe --help "
2Java Service Wrapper Community Edition 64-bit 3.5.42
3 Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
4 http://wrapper.tanukisoftware.com
5
6Usage:
7 wrapper.exe <command> <configuration file> [configuration properties] [...]
8 wrapper.exe <configuration file> [configuration properties] [...]
9 (<command> implicitly '-c')
10 wrapper.exe <command>
11 (<configuration file> implicitly 'wrapper.conf')
12 wrapper.exe
13 (<command> implicitly '-c' and <configuration file> 'wrapper.conf')
14
15where <command> can be one of:
16 -c --console run as a Console application # 类似于TestWrapper.bat控制台运行
17 -su --setup SetUp the Wrapper
18 -td --teardown TearDown the Wrapper
19 -t --start starT an NT service # 启动服务、暂定、停止、恢复服务
20 -a --pause pAuse a running NT service
21 -e --resume rEsume a paused NT service
22 -p --stop stoP a started NT service
23 -i --install Install as an NT service # 安装、卸载服务
24 -it --installstart Install and sTart as an NT service
25 -r --remove Uninstall/Remove as an NT service
26 -l=<code> --controlcode=<code> send a user controL Code to a running NT service
27 -d --dump request a thread Dump
28 -q --query Query the current status of the service
29 -qs --querysilent Silently Query the current status of the service
30 -v --version print the Wrapper's Version information
31 -? --help print this help message
32 -- <args> mark the end of Wrapper arguments. All arguments after the
33 '--' will be passed through unmodified to the java application.
34
35<configuration file> is the conf file to use. Filename must be absolute or
36 relative to the location of wrapper.exe
37
38[configuration properties] are configuration name-value pairs which override values
39 in the Wrapper configuration file. For example:
40 wrapper.debug=true
41
42 Please note that any file references must be absolute or relative to the location
43 of the Wrapper executable.
44
45
46F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin>
xxxxxxxxxx
1411PS C:\WINDOWS\system32> cmd
2Microsoft Windows [版本 10.0.19044.1415]
3(c) Microsoft Corporation。保留所有权利。
4
5C:\WINDOWS\system32>F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin\wrapper.exe -s F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf
6wrapper | The "wrapper.java.command" property was redefined on line #49 of configuration file: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf
7wrapper | Old Value wrapper.java.command=java
8wrapper | New Value wrapper.java.command=%JAVA_HOME%/bin/java
9Attempting to start Test Wrapper Sample Application as an NT service.
10
11Calling StartServiceCtrlDispatcher...please wait.
12
13StartServiceControlDispatcher failed!
14
15The -s and --service commands should only be called by the Windows
16ServiceManager to control the Wrapper as a service, and is not
17designed to be run manually by the user.
18# 此处:-s参数只支持winNT启动不支持控制台,需要切换为-c参数
19For help, type
20F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin\wrapper.exe -?
21
22
23C:\WINDOWS\system32>F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\bin\wrapper.exe -c F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf
24
25
26wrapper | The "wrapper.java.command" property was redefined on line #49 of configuration file: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\conf\wrapper.conf
27wrapper | Old Value wrapper.java.command=java
28wrapper | New Value wrapper.java.command=%JAVA_HOME%/bin/java
29wrapper | --> Wrapper Started as Console
30wrapper | Java Service Wrapper Community Edition 64-bit 3.5.42
31wrapper | Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
32wrapper | http://wrapper.tanukisoftware.com
33wrapper |
34wrapper | Running in a console with QuickEdit Mode. Be careful when selecting text in the
35wrapper | console as this may cause to block the Java Application.
36wrapper |
37wrapper | Launching a JVM...
38jvm 1 | WrapperManager: Initializing...
39jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
40jvm 1 | 信息: Server.服务器版本: Apache Tomcat/10.0.14
41jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
42jvm 1 | 信息: 服务器构建: Dec 2 2021 22:01:36 UTC
43jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
44jvm 1 | 信息: 服务器版本号: 10.0.14.0
45jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
46jvm 1 | 信息: 操作系统名称: Windows 10
47jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
48jvm 1 | 信息: OS.版本: 10.0
49jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
50jvm 1 | 信息: 架构: amd64
51jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
52jvm 1 | 信息: Java 环境变量: D:\services\env\server-jre-8u192-windows-x64\jdk1.8.0_192\jre
53jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
54jvm 1 | 信息: Java虚拟机版本: 1.8.0_192-b12
55jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
56jvm 1 | 信息: JVM.供应商: Oracle Corporation
57jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
58jvm 1 | 信息: CATALINA_BASE: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42
59jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
60jvm 1 | 信息: CATALINA_HOME: F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42
61jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
62jvm 1 | 信息: 命令行参数: -Djava.library.path=../lib
63jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
64jvm 1 | 信息: 命令行参数: -Dwrapper.key=KVWFzAvR4dQST1D1
65jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
66jvm 1 | 信息: 命令行参数: -Dwrapper.port=32000
67jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
68jvm 1 | 信息: 命令行参数: -Dwrapper.jvm.port.min=31000
69jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
70jvm 1 | 信息: 命令行参数: -Dwrapper.jvm.port.max=31999
71jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
72jvm 1 | 信息: 命令行参数: -Dwrapper.pid=14228
73jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
74jvm 1 | 信息: 命令行参数: -Dwrapper.version=3.5.42
75jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
76jvm 1 | 信息: 命令行参数: -Dwrapper.native_library=wrapper
77jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
78jvm 1 | 信息: 命令行参数: -Dwrapper.arch=x86
79jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
80jvm 1 | 信息: 命令行参数: -Dwrapper.cpu.timeout=10
81jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.VersionLoggerListener log
82jvm 1 | 信息: 命令行参数: -Dwrapper.jvmid=1
83jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
84jvm 1 | 信息: 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.31]。
85jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
86jvm 1 | 信息: APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。
87jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
88jvm 1 | 信息: OpenSSL成功初始化 [OpenSSL 1.1.1l 24 Aug 2021]
89jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.coyote.AbstractProtocol init
90jvm 1 | 信息: 初始化协议处理器 ["http-nio-8080"]
91jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.Catalina load
92jvm 1 | 信息: 服务器在[426]毫秒内初始化
93jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.StandardService startInternal
94jvm 1 | 信息: 正在启动服务[Catalina]
95jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.core.StandardEngine startInternal
96jvm 1 | 信息: 正在启动 Servlet 引擎:[Apache Tomcat/10.0.14]
97jvm 1 | 十二月 18, 2021 3:28:26 下午 org.apache.catalina.startup.HostConfig deployDirectory
98jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\docs]
99jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars
100jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
101jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
102jvm 1 | 警告: 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[176]毫秒。
103jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
104jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\docs]的部署已在[481]毫秒内完成
105jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
106jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\examples]
107jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars
108jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
109jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.core.ApplicationContext log
110jvm 1 | 信息: ContextListener: contextInitialized()
111jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.core.ApplicationContext log
112jvm 1 | 信息: SessionListener: contextInitialized()
113jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.core.ApplicationContext log
114jvm 1 | 信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@5d1af469')
115jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
116jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\examples]的部署已在[282]毫秒内完成
117jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
118jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\host-manager]
119jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars
120jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
121jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
122jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\host-manager]的部署已在[75]毫秒内完成
123jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
124jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\manager]
125jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars
126jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
127jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
128jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\manager]的部署已在[74]毫秒内完成
129jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
130jvm 1 | 信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\ROOT]
131jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.jasper.servlet.TldScanner scanJars
132jvm 1 | 信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。
133jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.HostConfig deployDirectory
134jvm 1 | 信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-10.0.14_wrapper_windows-x86-64-3.5.42\webapps\ROOT]的部署已在[65]毫秒内完成
135jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.coyote.AbstractProtocol start
136jvm 1 | 信息: 开始协议处理句柄["http-nio-8080"]
137jvm 1 | 十二月 18, 2021 3:28:27 下午 org.apache.catalina.startup.Catalina start
138jvm 1 | 信息: [1037]毫秒后服务器启动
139......
140...
141
下载
https://logging.apache.org/log4j/2.x/download.html
https://dlcdn.apache.org/logging/log4j/2.17.0/apache-log4j-2.17.0-bin.tar.gz 这个产品同样是ASF产品
https://logging.apache.org/log4j/2.x/log4j-appserver/index.html 配置流程,创建指定目录,下载指定jar包
示例xml
https://issues.jenkins.io/browse/JENKINS-64548?jql=labels%20%3D%20deployment
xxxxxxxxxx
121下载并运行 Jenkins
2下载 Jenkins.
3
4打开终端进入到下载目录.
5
6运行命令 java -jar jenkins.war --httpPort=8080
7
8打开浏览器进入链接 http://localhost:8080/
9
10按照说明完成安装.
11
12安装完成后,您可以开始使用 Jenkins!
xxxxxxxxxx
11481F:\chromeshell\tutorial\apache-tomcat-9.0.56\bin>wrapper.exe -c ..\conf\wrapper.conf
2The "wrapper.java.command" property was redefined on line #49 of configuration file: F:\chromeshell\tutorial\apache-tomcat-9.0.56\conf\wrapper.conf
3Old Value wrapper.java.command=java
4New Value wrapper.java.command=%JAVA_HOME%/bin/java
5--> Wrapper Started as Console
6Java Service Wrapper Community Edition 64-bit 3.5.42
7Copyright (C) 1999-2020 Tanuki Software, Ltd. All Rights Reserved.
8http://wrapper.tanukisoftware.com
9
10Running in a console with QuickEdit Mode. Be careful when selecting text in the
11console as this may cause to block the Java Application.
12
13Launching a JVM...
14WrapperManager: Initializing...
15十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
16信息: Server.服务器版本: Apache Tomcat/9.0.56
17十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
18信息: 服务器构建: Dec 2 2021 14:30:07 UTC
19十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
20信息: 服务器版本号: 9.0.56.0
21十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
22信息: 操作系统名称: Windows 10
23十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
24信息: OS.版本: 10.0
25十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
26信息: 架构: amd64
27十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
28信息: Java 环境变量: D:\services\env\server-jre-8u192-windows-x64\jdk1.8.0_192\jre
29十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
30信息: Java虚拟机版本: 1.8.0_192-b12
31十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
32信息: JVM.供应商: Oracle Corporation
33十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
34信息: CATALINA_BASE: F:\chromeshell\tutorial\apache-tomcat-9.0.56
35十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
36信息: CATALINA_HOME: F:\chromeshell\tutorial\apache-tomcat-9.0.56
37十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
38信息: 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
39十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
40信息: 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048
41十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
42信息: 命令行参数: -Dcatalina.base=../
43十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
44信息: 命令行参数: -Dcatalina.home=../
45十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
46信息: 命令行参数: -Duser.timezone=Asia/Shanghai
47十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
48信息: 命令行参数: -XX:+HeapDumpOnOutOfMemoryError
49十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
50信息: 命令行参数: -XX:HeapDumpPath=../logs/heapdump.hprof
51十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
52信息: 命令行参数: -XX:ErrorFile=../logs/hs_err_pid_%p.log
53十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
54信息: 命令行参数: -Dfile.encoding=UTF-8
55十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
56信息: 命令行参数: -Djava.library.path=../lib
57十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
58信息: 命令行参数: -Dwrapper.key=pbpIv_wvAyEfB4qD
59十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
60信息: 命令行参数: -Dwrapper.port=32000
61十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
62信息: 命令行参数: -Dwrapper.jvm.port.min=31000
63十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
64信息: 命令行参数: -Dwrapper.jvm.port.max=31999
65十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
66信息: 命令行参数: -Dwrapper.pid=13056
67十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
68信息: 命令行参数: -Dwrapper.version=3.5.42
69十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
70信息: 命令行参数: -Dwrapper.native_library=wrapper
71十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
72信息: 命令行参数: -Dwrapper.arch=x86
73十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
74信息: 命令行参数: -Dwrapper.cpu.timeout=10
75十二月 19, 2021 12:50:24 下午 org.apache.catalina.startup.VersionLoggerListener log
76信息: 命令行参数: -Dwrapper.jvmid=1
77十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
78信息: 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.31]。
79十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
80信息: APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]、UDS [true]。
81十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
82信息: APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]
83十二月 19, 2021 12:50:24 下午 org.apache.catalina.core.AprLifecycleListener initializeSSL
84信息: OpenSSL成功初始化 [OpenSSL 1.1.1l 24 Aug 2021]
85十二月 19, 2021 12:50:25 下午 org.apache.coyote.AbstractProtocol init
86信息: 初始化协议处理器 ["http-nio-8080"]
87十二月 19, 2021 12:50:25 下午 org.apache.catalina.startup.Catalina load
88信息: 服务器在[464]毫秒内初始化
89十二月 19, 2021 12:50:25 下午 org.apache.catalina.core.StandardService startInternal
90信息: 正在启动服务[Catalina]
91十二月 19, 2021 12:50:25 下午 org.apache.catalina.core.StandardEngine startInternal
92信息: 正在启动 Servlet 引擎:[Apache Tomcat/9.0.56]
93十二月 19, 2021 12:50:25 下午 org.apache.catalina.startup.HostConfig deployWAR
94信息: 正在部署web应用程序存档文件[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\jenkins.war]
95十二月 19, 2021 12:50:29 下午 org.apache.jasper.servlet.TldScanner scanJars
96信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。
97十二月 19, 2021 12:50:29 下午 org.apache.catalina.core.ApplicationContext log
98信息: No Spring WebApplicationInitializer types detected on classpath
99十二月 19, 2021 12:50:30 下午 hudson.WebAppMain contextInitialized
100信息: Jenkins home directory: C:\Users\Amos\.jenkins found at: $user.home/.jenkins
101十二月 19, 2021 12:50:30 下午 org.apache.catalina.session.StandardSession doReadObject
102警告: 无法反序列化会话 [E7D5001F36171F750E413215D673F32E] 的属性 [SPRING_SECURITY_CONTEXT]
103十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployWAR
104信息: web应用程序存档文件[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\jenkins.war]的部署已在[5,310]ms内完成
105十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
106信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\docs]
107十二月 19, 2021 12:50:30 下午 org.apache.jasper.servlet.TldScanner scanJars
108信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。
109十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
110信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\docs]的部署已在[81]毫秒内完成
111十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
112信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\examples]
113十二月 19, 2021 12:50:30 下午 org.apache.jasper.servlet.TldScanner scanJars
114信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。
115十二月 19, 2021 12:50:30 下午 org.apache.catalina.core.ApplicationContext log
116信息: ContextListener: contextInitialized()
117十二月 19, 2021 12:50:30 下午 org.apache.catalina.core.ApplicationContext log
118信息: SessionListener: contextInitialized()
119十二月 19, 2021 12:50:30 下午 org.apache.catalina.core.ApplicationContext log
120信息: ContextListener: attributeAdded('StockTicker', 'async.Stockticker@2c1569b4')
121十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
122信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\examples]的部署已在[368]毫秒内完成
123十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
124信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\host-manager]
125十二月 19, 2021 12:50:30 下午 org.apache.jasper.servlet.TldScanner scanJars
126信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。
127十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
128信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\host-manager]的部署已在[93]毫秒内完成
129十二月 19, 2021 12:50:30 下午 org.apache.catalina.startup.HostConfig deployDirectory
130信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\manager]
131十二月 19, 2021 12:50:31 下午 org.apache.jasper.servlet.TldScanner scanJars
132信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。
133十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.HostConfig deployDirectory
134信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\manager]的部署已在[95]毫秒内完成
135十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.HostConfig deployDirectory
136信息: 把web 应用程序部署到目录 [F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\ROOT]
137十二月 19, 2021 12:50:31 下午 org.apache.jasper.servlet.TldScanner scanJars
138信息: 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编 译时间。
139十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.HostConfig deployDirectory
140信息: Web应用程序目录[F:\chromeshell\tutorial\apache-tomcat-9.0.56\webapps\ROOT]的部署已在[100]毫秒内完成
141十二月 19, 2021 12:50:31 下午 org.apache.coyote.AbstractProtocol start
142信息: 开始协议处理句柄["http-nio-8080"]
143十二月 19, 2021 12:50:31 下午 org.apache.catalina.startup.Catalina start
144信息: [6131]毫秒后服务器启动
145十二月 19, 2021 12:50:32 下午 jenkins.InitReactorRunner$1 onAttained
146信息: Started initialization
147十二月 19, 2021 12:50:33 下午 jenkins.InitReactorRunner$1 onAttained
148信息: Listed all plugins
149...
150...
传统的 java web application可能不与tomcat10兼容,需要个性化。以tomcat9及之前版本访问为例,请按前面的操作,自行封装制作wrapper+tomcat9。
将jenkins.war包放入tomcat/webapps/ 目录下,重启tomcat即可自动解压启动jenkins,效果如下。
安装完成后进入后台。
xxxxxxxxxx
31/ # java -jar jenkins-cli.jar -s http://127.0.0.1:8080/jenkins -auth admin:admin list-jobs
2def-domain_def-proj_Tomcat_7000
3/ #
xxxxxxxxxx
11java -jar jenkins-cli.jar -s http://127.0.0.1:8080/jenkins -auth admin:admin get-job def-domain_def-proj_Tomcat_7000
此处的 jenkins-cli.jar 为项目个性开发的调用jenkins API接口jar包。
xxxxxxxxxx
61println(Jenkins.instance.pluginManager.plugins) # 输出已安装插件
2
3#重点是下面的这句
4Jenkins.instance.getItemByFullName("def-domain_def-proj_Tomcat_7000").updateNextBuildNumber(99999)
5#指定下次构建的版本号(适用于版本号整数递增的。)执行后,再次点构建即标记99999版本号。
6
Pipeline 本文结束。