跳到主要内容

Tomcat

1、Windows Tomcat 修改窗口名称

catalina.bat 搜索 set _EXECJAVA=start "window_name" %_RUNJAVA%

2、配置jvm参数

tomcat/bin/catalina.bat 中添加下面配置

windows

Set JAVA_OPTS=-Xmx4096m -Xms2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=GBK  -Dserver.port=8080 -Djava.security.egd=file:/dev/urandom

MacOS/Linux

export JAVA_OPTS="-Xms512m -Xmx2048m -XX:MaxPermSize=512m -XX:PermSize=128m -Deiworkdir=/Users/wangzhy/wangzhydev/workdir/wsi -Ddfworkdir=/Users/wangzhy/wangzhydev/workdir/datafactory -Dbiworkdir=/Users/wangzhy/wangzhydev/workdir/ws_bi -Dfile.encoding=UTF-8 "

3、Tomcat 启动报错,一个或多个筛选器启动失败

错误信息:

org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到

解决方法:

查看 $TOMCAT_HOME/logs/logs/localhostxxx.log

4、Tomcat 在运行过程中闪退

4.1、启动过程中闪退

在启动过程中的闪退,导致无法看到日志。

# 通过 vscode 的 terminal 启动 Tomcat
./catalina.bat run
# 不使用 ./startup.bat 是因为 ./startup.bat 会弹出一个窗口。

4.2、启动之后没多久就闪退

试着修改,之前全是 256m 会一直闪退,不知道是不是不允许一样,还是 256m 太小了。

-XX:PermSize=256m -XX:MaxPermSize=512m

5、Tomcat 乱码问题

Tomcat 9 启动,控制台乱码,

修改 ${TOMCAT_HOME}/conf/logging.properties ,把 java.util.logging.ConsoleHandler.encoding 改为 GBK

java.util.logging.ConsoleHandler.encoding = GBK 

6、Tomcat 配置 SSL 证书

  1. 把 jks 证书复制到 ${TOMCAT_HOME}/conf/
  2. 修改 ${TOMCAT_HOME}/conf/server.xml
	<!-- https 访问端口-->
<Connector port="443" protocol="HTTP/1.1"
connectionTimeout="20000"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="D:/TOMCAT/apache-tomcat-9.0.68/conf/(20230713131002)tomcat.jks"
keystorePass="Abc_123"
clientAuth="false"
/>
<!--http 访问端口-->
<Connector port="9999" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
  1. 修改 ${TOMCAT_HOME}/conf/web.xml
<!--在 web.xml 末尾加上-->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
  1. 重启 Tomcat