一、Tomcat
Tomcat 是一个轻量级的开源 Java Servlet 容器。
1、配置
Tomcat 的主要配置文件位于其安装目录下的 conf
文件夹中。
server.xml
: 这是 Tomcat 的核心配置文件,包含了服务器的基本设置,例如端口号、连接器配置、虚拟主机配置、以及全局的资源定义等。-
端口号 : 在
<Connector>
元素中配置port
属性,例如<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
设置 HTTP 端口为 8080。 -
虚拟主机 : 通过
<Host>
元素配置虚拟主机,可以定义不同的域名或 IP 地址对应不同的 Web 应用。例如:<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Alias>mywebsite.com</Alias> <Context path="" docBase="ROOT" reloadable="true" /> </Host>
-
Context : 通过
<Context>
元素配置 Web 应用的上下文路径、文档根目录等。通常在server.xml
中配置全局的 Context,也可以在conf/[enginename]/[hostname]
目录下创建 XML 文件来配置特定虚拟主机的 Context。 -
连接器 :
<Connector>
元素定义了 Tomcat 如何接收和处理客户端请求。可以配置不同的协议(HTTP/1.1, AJP),SSL/TLS 设置等。
-
web.xml
: 这是 Web 应用的部署描述符,位于每个 Web 应用的WEB-INF
目录下。它定义了 Servlet、Filter、Listener、Welcome 文件、错误页面等。context.xml
: 可以配置特定 Web 应用的上下文参数,例如数据源、资源引用等。通常位于 Web 应用的META-INF
目录下,也可以在conf/[enginename]/[hostname]
目录下创建 XML 文件。logging.properties
: 配置 Tomcat 的日志行为,例如日志级别、输出格式、输出目标等。
配置示例 (修改端口号):
- 打开 Tomcat 安装目录下的
conf/server.xml
文件。 - 找到
<Connector port="8080" ...>
这一行。 - 将
port
属性的值修改为你想要的端口号,例如8090
。 - 保存文件并重启 Tomcat。
2、调试
Tomcat 支持远程调试,可以通过 Java 调试器(例如 IntelliJ IDEA 或 Eclipse)连接到 Tomcat 进程进行调试。
- 启用远程调试 :
- 找到 Tomcat 安装目录下的
bin
文件夹。 - 编辑
catalina.sh
(Linux/macOS) 或catalina.bat
(Windows) 文件。 - 在启动 Tomcat 的命令之前添加以下 JVM 参数:
-
Linux/macOS :
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
-
Windows :
set CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-
参数说明 :
-Xdebug
: 启用调试模式。-Xrunjdwp
: 配置 JDWP (Java Debug Wire Protocol)。transport=dt_socket
: 使用 Socket 传输。address=8000
: 调试器连接的端口号,可以自定义。server=y
: Tomcat 作为调试服务器。suspend=n
: Tomcat 启动时不等待调试器连接。如果设置为y
,Tomcat 会等待调试器连接后才启动。
-
- 找到 Tomcat 安装目录下的
- 启动 Tomcat : 运行
catalina.sh start
或catalina.bat start
命令启动 Tomcat。 - 连接调试器 :
- 在你的 IDE 中创建一个远程调试配置。
- 配置连接的主机为 Tomcat 运行的服务器 IP 地址或
localhost
。 - 配置端口号为你在
CATALINA_OPTS
或set CATALINA_OPTS
中设置的端口号(例如8000
)。 - 启动调试器。
- 设置断点: 在你的 Java 代码中设置断点。
- 触发请求: 访问你的 Web 应用,当代码执行到断点时,调试器会暂停,你可以检查变量、单步执行等。
3、跟踪
Tomcat 使用 Java Util Logging (JUL) 进行日志记录。
-
配置日志级别 : 在
conf/logging.properties
文件中可以配置不同包或类的日志级别。例如,要将org.apache.catalina
包的日志级别设置为FINE
: Propertiesorg.apache.catalina.level = FINE
常见的日志级别包括:
SEVERE
,WARNING
,INFO
,CONFIG
,FINE
,FINER
,FINEST
,ALL
. -
配置日志输出 : 可以配置日志的输出格式、输出目标(例如控制台、文件)。默认情况下,Tomcat 会将日志输出到
logs
文件夹下的文件中,例如catalina.out
、localhost.log
等。 -
使用 Valve 进行请求跟踪 : Tomcat 提供了 Valve 机制,可以拦截和处理请求。
AccessLogValve
可以记录每个请求的详细信息,例如客户端 IP、请求时间、请求方法、URL、响应状态码等。-
在
conf/server.xml
的<Host>
元素中添加<Valve>
元素来配置AccessLogValve
:<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" resolveHosts="false"/>
directory
: 日志文件存放目录。prefix
: 日志文件名前缀。suffix
: 日志文件名后缀。pattern
: 日志格式。常用的格式包括:%h
: 远程主机名。%l
: 远程逻辑用户名 (总是-
)。%u
: 远程用户。%t
: 日期和时间。%r
: 请求的第一行。%s
: 响应状态码。%b
: 发送的字节数。%D
: 处理请求所花费的时间 (毫秒)。
-
-
自定义日志: 你可以在你的 Web 应用中使用 SLF4j 或 Logback 等日志框架,并在 Tomcat 中进行配置,以实现更灵活的日志管理。
二、Open Liberty
Open Liberty 是一个轻量级、模块化的 Java EE (Jakarta EE) 应用服务器。
1、配置
Open Liberty 的主要配置文件是 server.xml
,位于服务器实例目录下的 etc
文件夹中。
server.xml
: 这是 Open Liberty 的核心配置文件,包含了服务器的所有配置信息,例如启用的特性 (features)、应用程序部署、端口号、数据源、日志配置等。-
启用特性 (Features) : 通过
<featureManager>
元素启用所需的功能,例如javaee-8.0
、servlet-4.0
、jaxrs-2.1
等。<server> <featureManager> <feature>javaee-8.0</feature> </featureManager> </server>
-
配置 HTTP 端口 : 通过
<httpEndpoint>
元素配置 HTTP 端口。<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443"/>
-
部署应用程序 : 可以通过
<application>
元素部署 WAR 或 EAR 文件。<application location="my-app.war" type="war"/>
-
配置日志 : 通过
<logging>
元素配置日志级别、输出格式等。<logging traceSpecification="*=info:com.example.*=debug"/>
-
配置数据源 : 通过
<dataSource>
元素配置 JDBC 数据源。
-
配置示例 (修改 HTTP 端口):
- 打开 Open Liberty 服务器实例目录下的
etc/server.xml
文件。 - 找到
<httpEndpoint id="defaultHttpEndpoint" ...>
这一行。 - 修改
httpPort
属性的值为你想要的端口号,例如9090
。 - 保存文件并重启 Open Liberty 服务器。
2、调试
Open Liberty 也支持远程调试。
- 启用远程调试 :
-
找到 Open Liberty 服务器实例目录下的
bin
文件夹。 -
编辑
server.env
文件(如果不存在则创建)。 -
添加以下 JVM 参数:
JVM_ARGS="-Xdebug -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n"
address=7777
: 调试器连接的端口号,可以自定义。
-
- 启动 Open Liberty 服务器 : 运行
server start <your_server_name>
命令启动服务器。 - 连接调试器 :
- 在你的 IDE 中创建一个远程调试配置。
- 配置连接的主机为 Open Liberty 运行的服务器 IP 地址或
localhost
。 - 配置端口号为你在
server.env
中设置的端口号(例如7777
)。 - 启动调试器。
- 设置断点: 在你的 Java 代码中设置断点。
- 触发请求: 访问你的 Web 应用,当代码执行到断点时,调试器会暂停,你可以检查变量、单步执行等。
3、跟踪
Open Liberty 提供了灵活的日志和跟踪配置。
- 配置日志级别 : 在
server.xml
文件中使用<logging>
元素配置日志级别。traceSpecification
: 用于指定不同组件或包的跟踪级别。例如:*=info
: 设置所有组件的默认日志级别为 INFO。com.example.*=debug
: 设置com.example
包及其子包的日志级别为 DEBUG。com.ibm.ws.webcontainer*=all
: 设置 Web 容器相关组件的日志级别为 ALL (最详细)。
consoleLogLevel
: 配置控制台输出的日志级别。messageFileName
: 配置消息日志文件的名称。maxFileSize
: 配置消息日志文件的最大大小。maxFiles
: 配置保留的消息日志文件的最大数量。
- 配置日志格式 : 可以通过
<logging>
元素的属性或子元素配置日志格式。 - 使用 Liberty 跟踪 : Liberty 具有内置的跟踪功能,可以提供更详细的运行时信息。通过
traceSpecification
可以控制跟踪的详细程度。 - 访问日志 : Open Liberty 默认会生成访问日志,记录 HTTP 请求的信息。可以通过
<httpEndpoint>
元素的属性进行配置。 - 使用外部日志框架: 可以在你的应用程序中使用 SLF4j、Logback 或 Log4j2 等日志框架,并在 Open Liberty 中进行配置。
三、WebSphere Application Server (WAS)
WebSphere Application Server (WAS) 是 IBM 的商业级 Java EE (Jakarta EE) 应用服务器,功能强大且复杂。
1、配置
WAS 的配置主要通过管理控制台 (Admin Console) 和 XML 配置文件进行。
- 管理控制台 : 这是一个基于 Web 的界面,用于管理 WAS 的各种配置,例如服务器、应用程序、数据源、安全设置、日志配置等。通常通过
http://<your_server_ip>:<admin_console_port>/ibm/console
访问(默认端口通常是 9060 或 9043)。 - XML 配置文件 : WAS 的配置信息存储在 XML 文件中,主要位于 WAS 安装目录下的
profiles/<profile_name>/config
目录下。重要的配置文件包括:server.xml
: 定义了服务器的基本配置,例如端口、应用程序部署、Web 容器设置等。virtualhosts.xml
: 配置虚拟主机。resources.xml
: 配置资源,例如数据源、JMS 连接工厂等。security.xml
: 配置安全相关的设置。variables.xml
: 定义环境变量。
配置示例 (通过管理控制台修改 HTTP 端口):
- 登录 WAS 管理控制台。
- 导航到 服务器 -> 服务器类型 -> WebSphere 应用程序服务器。
- 选择你要配置的服务器。
- 在右侧窗格中,导航到 端口。
- 找到
WC_defaulthost
对应的端口号,修改为你想要的端口号。 - 点击 应用 ,然后 保存 配置。
- 重启服务器以使更改生效。
2、调试
WAS 支持远程调试。
- 启用远程调试 :
-
登录 WAS 管理控制台。
-
导航到 服务器 -> 服务器类型 -> WebSphere 应用程序服务器。
-
选择你要配置的服务器。
-
在右侧窗格中,导航到 Java 和进程管理 -> 进程定义。
-
选择 控制 或 服务器 (取决于你要调试的进程)。
-
导航到 其他属性 -> JVM (Java 虚拟机)。
-
在 通用 JVM 参数 字段中添加以下参数:
-Xdebug -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n
address=7777
: 调试器连接的端口号,可以自定义。
-
点击 应用 ,然后 保存 配置。
-
重启服务器。
-
- 连接调试器 :
- 在你的 IDE 中创建一个远程调试配置。
- 配置连接的主机为 WAS 运行的服务器 IP 地址或
localhost
。 - 配置端口号为你在 JVM 参数中设置的端口号(例如
7777
)。 - 启动调试器。
- 设置断点: 在你的 Java 代码中设置断点。
- 触发请求: 访问你的 Web 应用,当代码执行到断点时,调试器会暂停,你可以检查变量、单步执行等。
3、跟踪
WAS 提供了非常强大的跟踪和日志功能。

- 配置日志级别 :
- 登录 WAS 管理控制台。
- 导航到 故障排除 -> 日志和跟踪。
- 选择你要配置的服务器。
- 点击 更改日志级别详细信息。
- 可以选择预定义的日志级别(例如
信息
、警告
、错误
)或者自定义跟踪规范。 - 自定义跟踪规范 : 可以指定特定组件或包的跟踪级别。例如:
*=info
: 设置所有组件的默认日志级别为 INFO。com.example.*=all
: 设置com.example
包及其子包的跟踪级别为 ALL (最详细)。com.ibm.ws.webcontainer*=fine:com.ibm.ws.session*=debug
: 可以指定多个组件的不同级别。
- 点击 应用 ,然后 保存 配置。
- 配置日志文件 :
- 在 日志和跟踪 页面,点击 服务器日志 或其他日志类型(例如 JVM 日志)。
- 可以配置日志文件的路径、最大大小、历史文件数等。
- 配置跟踪文件 :
- 在 日志和跟踪 页面,点击 跟踪。
- 可以配置跟踪文件的路径、最大大小、历史文件数、格式等。
- 使用 PMI (Performance Monitoring Infrastructure): WAS 提供了 PMI,可以监控服务器的性能指标,例如 CPU 使用率、内存使用率、请求处理时间等。可以通过管理控制台或编程方式访问 PMI 数据。
- 使用 Health Center 和 Thread Analyzer: IBM 提供了 Health Center 和 Thread Analyzer 等工具,可以帮助分析 WAS 的性能问题和线程转储。
希望以上详细的讲解能够帮助你配置、调试和跟踪 Tomcat、Open Liberty 和 WebSphere Application Server。由于每个服务器都有其特定的复杂性,建议参考官方文档以获取更深入的信息。