包含标签 tomcat 的文章

tomcat配置https:keytool生成证书与server.xml配置

前言

内部系统要上 https,当时没有 CA 签发的证书,就用 keytool 做了自签名证书给 tomcat 配上。流程整理下,最后补上新版 JDK/tomcat 的差异说明——老环境照旧,新环境看最后一段。

1、生成安全证书

JDK 1.4 以后都自带 keytool,在 <JAVA_HOME>\bin 下:

1
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "f:\tomcat.keystore"

参数说明:

  • -alias:证书别名,之后引用都用它
  • -keyalg:密钥算法,RSA
  • -keystore:keystore 文件的存放位置

命令会交互式问一串信息,其中**「名字与姓氏」必须填域名**(比如 www.example.com),这是最容易踩的坑——填成自己的姓名,之后运行时证书的域名和实际访问的域名对不上,浏览器照样报证书警告。密码我输的是 tomcat(测试环境),其余按实际情况填。

……

阅读全文

tomcat环境及线程池、JDK配置详解

前言

生产环境中 tomcat 的 JVM 和线程池设置不好,很容易出现内存溢出或被流量打垮。这篇整理 tomcat 的三块核心配置:JVM 内存参数(catalina.sh)、线程池(server.xml)、JNDI 数据源(context.xml),以及常见内存溢出的原因和解决方法。

一、常见的三种 Java 内存溢出

1. JVM Heap(堆)溢出

1
java.lang.OutOfMemoryError: Java heap space

JVM 启动时会自动设置 Heap 的值:初始空间(-Xms)是物理内存的 1/64,最大空间(-Xmx)不可超过物理内存。Heap 的大小是 Young Generation 和 Tenured Generation 之和。在 JVM 中如果 98% 的时间用于 GC 且可用的 Heap size 不足 2%,将抛出此异常。

……

阅读全文

tomcat开启远程debug

前言

测试环境的问题在本地复现不出来,最直接的办法就是远程 debug:本地 IDEA 打断点,连到测试环境的 tomcat 上单步跟。配置很简单,给 catalina 加一段 JDWP 参数就行,但有个 shutdown.sh 失效的坑要提前知道。

1、配置方法

linux 下在 catalina.sh 开头(或者按规范放 bin/setenv.sh)加:

1
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"

windows 下修改 catalina.bat:

1
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888

参数含义:

……

阅读全文

最近文章

分类

标签

其它