Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
tomcat_administration:start [2016/11/21 14:30] marco.staub |
tomcat_administration:start [2022/05/13 14:34] marco.staub [GC Log Parameter] |
||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
==== 1.2 - rc.sh ==== | ==== 1.2 - rc.sh ==== | ||
<code> | <code> | ||
- | #!/usr/bin/sh | + | #!/bin/sh |
- | # rc.sh | + | |
### Start Config ### | ### Start Config ### | ||
- | TOMCAT_VERSION=8.5.8 | + | |
+ | TOMCAT_VERSION=10.0.20 | ||
INSTANCE_NAME=workshop | INSTANCE_NAME=workshop | ||
- | INSTANCE_VERSION=1.0 | ||
### End Config #### | ### End Config #### | ||
CATALINA_HOME=/opt/tomcat/products/${TOMCAT_VERSION} | CATALINA_HOME=/opt/tomcat/products/${TOMCAT_VERSION} | ||
- | CATALINA_BASE=/opt/tomcat/instances/${INSTANCE_NAME}/${INSTANCE_VERSION} | + | CATALINA_BASE=/opt/tomcat/instances/${INSTANCE_NAME} |
export CATALINA_HOME | export CATALINA_HOME | ||
Zeile 22: | Zeile 21: | ||
case "$1" in | case "$1" in | ||
- | start) | + | start) |
- | $CATALINA_HOME/bin/startup.sh | + | $CATALINA_HOME/bin/startup.sh |
- | ;; | + | ;; |
- | stop) | + | stop) |
- | $CATALINA_HOME/bin/shutdown.sh | + | $CATALINA_HOME/bin/shutdown.sh |
- | ;; | + | ;; |
- | *) | + | *) |
- | echo "Usage: $0 {start|stop}" | + | echo "Usage: $0 {start|stop}" |
- | exit 1 | + | exit 1 |
- | ;; | + | ;; |
esac | esac | ||
</code> | </code> | ||
Zeile 42: | Zeile 41: | ||
CATALINA_OUT="${CATALINA_VAR}/logs/catalina.out" | CATALINA_OUT="${CATALINA_VAR}/logs/catalina.out" | ||
CATALINA_OPTS="-Dcatalina.var=${CATALINA_VAR}" | CATALINA_OPTS="-Dcatalina.var=${CATALINA_VAR}" | ||
- | export CATALINA_TMPDIR; export CATALINA_OPTS | ||
- | export CATALINA_PID; export CATALINA_OUT | ||
</code> | </code> | ||
==== 1.4 - OOM ==== | ==== 1.4 - OOM ==== | ||
<code> | <code> | ||
- | JAVA_OOM="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/tomcat/workshop -XX:OnOutOfMemoryError=${CATALINA_HOME}/bin/action.bash" | + | JAVA_OOM="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/tomcat/workshop -XX:OnOutOfMemoryError=${CATALINA_HOME}/bin/oom.sh" |
CATALINA_OPTS="$CATALINA_OPTS $JAVA_OOM" | CATALINA_OPTS="$CATALINA_OPTS $JAVA_OOM" | ||
</code> | </code> | ||
Zeile 90: | Zeile 87: | ||
<code> | <code> | ||
- | <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" | + | <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" |
- | port="8443" maxThreads="200" | + | maxThreads="150" SSLEnabled="true" scheme="https" secure="true" > |
- | scheme="https" secure="true" SSLEnabled="true"> | + | <SSLHostConfig protocols="all,-TLSv1,-TLSv1.1" |
- | <SSLHostConfig protocols="TLSv1+TLSv1.1+TLSv1.2"> | + | ciphers="HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA" |
- | <Certificate certificateKeystoreFile="${catalina.base}/keystore.jks" | + | honorCipherOrder="true" > |
- | certificateKeystorePassword="changeit /> | + | <Certificate |
- | </SSLHostConfig> | + | certificateKeystoreFile="${catalina.base}/conf/keystore.jks" |
- | </Connector> | + | certificateKeystorePassword="changeit" /> |
+ | </SSLHostConfig> | ||
+ | </Connector> | ||
</code> | </code> | ||
Zeile 114: | Zeile 113: | ||
5workshop1.org.apache.juli.AsyncFileHandler.directory = ${catalina.var}/logs | 5workshop1.org.apache.juli.AsyncFileHandler.directory = ${catalina.var}/logs | ||
5workshop1.org.apache.juli.AsyncFileHandler.prefix = workshop_log1. | 5workshop1.org.apache.juli.AsyncFileHandler.prefix = workshop_log1. | ||
+ | 5workshop1.org.apache.juli.AsyncFileHandler.maxDays = 90 | ||
+ | 5workshop1.org.apache.juli.AsyncFileHandler.encoding = UTF-8 | ||
+ | |||
6workshop2.org.apache.juli.AsyncFileHandler.level = FINE | 6workshop2.org.apache.juli.AsyncFileHandler.level = FINE | ||
6workshop2.org.apache.juli.AsyncFileHandler.directory = ${catalina.var}/logs | 6workshop2.org.apache.juli.AsyncFileHandler.directory = ${catalina.var}/logs | ||
6workshop2.org.apache.juli.AsyncFileHandler.prefix = workshop_log2. | 6workshop2.org.apache.juli.AsyncFileHandler.prefix = workshop_log2. | ||
+ | 6workshop2.org.apache.juli.AsyncFileHandler.maxDays = 90 | ||
+ | 6workshop2.org.apache.juli.AsyncFileHandler.encoding = UTF-8 | ||
</code> | </code> | ||
<code> | <code> | ||
Zeile 128: | Zeile 132: | ||
to the Configuration element for hot config reloading, | to the Configuration element for hot config reloading, | ||
for example: <Configuration monitorInterval="60"> --> | for example: <Configuration monitorInterval="60"> --> | ||
- | <Configuration status="warn"> | + | <Configuration status="warn" monitorInterval="60"> |
<Appenders> | <Appenders> | ||
<RollingFile name="default" | <RollingFile name="default" | ||
Zeile 134: | Zeile 138: | ||
filePattern="${sys:catalina.var}/logs/catalina.log.%d{yyyy-MM-dd-HHmmss}"> | filePattern="${sys:catalina.var}/logs/catalina.log.%d{yyyy-MM-dd-HHmmss}"> | ||
<PatternLayout> | <PatternLayout> | ||
- | <pattern>%d %r %p [%t] %c - %m%n</pattern> | + | <pattern>%d %r %p [%t] %c (%F:%L) - %m%n</pattern> |
</PatternLayout> | </PatternLayout> | ||
- | <!-- Hourly Rotation, schedule is cron style | + | <!-- Daily Rotation, schedule is cron style |
with columns seconds, minutes, hours, day-of-month, | with columns seconds, minutes, hours, day-of-month, | ||
month, day-of-week, year(optional) --> | month, day-of-week, year(optional) --> | ||
- | <CronTriggeringPolicy schedule="0 0 * * * ?" /> | + | <CronTriggeringPolicy schedule="0 0 0 * * ?" /> |
</RollingFile> | </RollingFile> | ||
</Appenders> | </Appenders> | ||
Zeile 196: | Zeile 200: | ||
===== Tag 4 ===== | ===== Tag 4 ===== | ||
- | ==== GC Log Parameter ==== | ||
- | |||
- | <code> | ||
- | NOW=`date +%Y%m%d_%H%M%S` | ||
- | JAVA_GC_LOG="\ | ||
- | -verbose:gc \ | ||
- | -XX:+PrintGCApplicationConcurrentTime \ | ||
- | -XX:+PrintGCApplicationStoppedTime \ | ||
- | -XX:+PrintGCDateStamps \ | ||
- | -XX:+PrintGCTimeStamps \ | ||
- | -XX:+PrintGCDetails \ | ||
- | -XX:+PrintHeapAtGC \ | ||
- | -XX:+PrintTenuringDistribution \ | ||
- | -XX:+UseGCLogFileRotation \ | ||
- | -XX:GCLogFileSize=50M \ | ||
- | -XX:NumberOfGCLogFiles=20 \ | ||
- | -Xloggc:${CATALINA_VAR}/logs/gc.log-$NOW \ | ||
- | " | ||
- | CATALINA_OPTS="$CATALINA_OPTS $JAVA_GC_LOG" | ||
- | </code> | ||
===== Tag 5 ===== | ===== Tag 5 ===== |