Tomcat8.5
安装java(jar命令在java-1.8.0-openjdk-devel中)
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
jdk环境
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/lib/security/java.security
securerandom.source=file:/dev/unrandom
## 解决启动慢
启动tomcat
..../bin/startup.sh
停止tomcat
.../bin/shutdown.sh
手动设置PID文件路径(修改catalina.sh文件)
CATALINA_PID=$PRGDIR/tomcat.pid
tomcat日志分割
方法一:用cronolog分割tomcat的catalina.out文件
1、编译安装cronolog
2、编辑catalina.sh文件
(1) CATALINA_OUT="$CATALINA_BASE"/logs/%Y-%m-%d.catalina.out
(2)#touch "$CATALINA_OUT"
(3)找到下面这行,类似这样的行有好几处,选择touch "$CATALINA_OUT"后面的两处:
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &
第一处:tomcat是带“-security”参数的启动,
第二处:默认tomcat启动方式,也就是else下面的那部分,我们只修改这里。
改成org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null&
方法二:使用log4j成功使catalina.out文件实现分割
配置静态页面
<Context path="" docBase="/usr/local/tomcat/webapps" reloadable="true" />
<Context>元素的配置
docBase指定了该Web应用使用的WAR包路径,或应用目录。
path指定了访问该Web应用的上下文路径,当请求到来时,Tomcat根据Web应用的 path属性与URI的匹配程度来选择Web应用处理相应请求。例如,Web应用app1的path属性是”/app1”,Web应用app2的path属性是”/app2”,那么请求/app1/index.html会交由app1来处理;而请求/app2/index.html会交由app2来处理。如果一个Context元素的path属性为””,那么这个Context是虚拟主机的默认Web应用;当请求的uri与所有的path都不匹配时,使用该默认Web应用来处理。
reloadable属性指示tomcat是否在运行时监控在WEB-INF/classes和WEB-INF/lib目录下class文件的改动。如果值为true,那么当class文件改动时,会触发Web应用的重新加载。在开发环境下,reloadable设置为true便于调试;但是在生产环境中设置为true会给服务器带来性能压力,因此reloadable参数的默认值为false。
配置https协议
PFX证书格式转换
openssl pkcs12 -export -out cert_name.pfx -inkey 214748430680265.key -in 214748430680265.pem
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/path_to/cert_name.pfx"
certificateKeystoreType="PKCS12"
certificateKeystorePassword="证书格式转换时设定的密码" />
</SSLHostConfig>
</Connector>
JKS证书格式转换
keytool -importkeystore -srckeystore cert_name.pfx -destkeystore cert_name.jks -srcstoretype PKCS12 -deststoretype JKS
配置JMX接口
编辑..../bin/catalina.sh,提供jmx端口。
CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
##-Dcom.sun.management.jmxremote.port=12345 ##另一个动态端口设为固定时该行删除
-Djava.rmi.server.hostname=[....ip...]"
将另一个动态端口设为固定端口
修改Tomcat安装目录conf子目录下的server.xml配置文件
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346" />
更改内存大小
JAVA_OPTS="-Xms1024m -Xmx2048m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m"