首页 > 技术文章 > tomcat在工作上的用法整理

windysai 2021-02-11 23:49 原文

tomcat在工作上的用法整理

  今天是除夕,团圆饭还有饭后各种零食,吃的饱饱滴,这么撑也早睡不了= =

  下面是整理在公司上遇到的tomcat需求用法。 

 

1、tomcat会话超时时间设置(tomcat session)

这服务器的项目都找不到了,以前的笔记随意记下来的,大家将就着看 = =

设置参考文档:https://www.cnblogs.com/jpfss/p/9486851.html

之前有个项目本来是用tomcat跑的,然后设置是基于旧架构。后来换成微服务架构,就是跑一堆jar包,就不需要设置tomcat session了

(1)配置session失效时间为120分钟

修改tomcat配置文件 web.xml 

   <session-config>
        <session-timeout>120</session-timeout>   ##默认为30分钟
    </session-config>

 

(2)修改tomcat配置文件 server.xml ,单位为秒

 

2、tomcat启动慢之java配置

参考:  https://blog.csdn.net/qq_14869093/article/details/85766333

修改jdk安全配置文件,假设jdk安装地址在:/usr/local/jdk1.8.0_77/

vim /usr/local/jdk1.8.0_77/jre/lib/security/java.security

securerandom.source=file:/dev/random
修改为:
(1)securerandom.source=file:/dev/./random
或者:
(2)securerandom.source=file:/dev/urandom

——》 解决tomcat 启动慢的问题,跟java有关

 

3、tomcat内存调参

  我们搞活动的时候,本来服务器配置为2核8G,然后因为服务器运算,也有可能程序代码写得烂等,导致用户一多,也有可能有不法分子在刷票,活动卡死在页面,不得不升配为4核16G。

然后顺便调了下tomcat内存,原来Xms等默认是2G的,因为升配就可以调大点

修改  ../bin/catalina.sh

# OS specific support.  $var _must_ be set to either true or false.
export JAVA_OPTS="-server -Xms4096M -Xmx4096M -Xmn768M -Xss512k -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=4096M -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m  -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly"

说明:

-Xms:java Heap初始大小。 默认是物理内存的1/64。
-Xmx:java heap最大值。建议均设为物理内存的一半。不可超过物理内存。 
-XX:PermSize:设定内存的永久保存区初始大小,缺省值为64M。
-XX:MaxPermSize:设定内存的永久保存区最大 大小,缺省值为64M。

 

4、tomcat日志切割

  也是因为搞活动,然后活动得搞好几天。

  tomcat默认日志写在catalina.out文件中,时间长了会写入大量的日志,开发说tomcat默认日志太大,不便于查看排查问题,所以需要分割日志。按照日期生成日志,每天生成一个日志文件,这样就方便查看了。
  可以像nginx日志切割那样搞,我这里用的是cronolog 这个工具实现catalina.out按日期输出日志的
(1)安装cronolog
yum install cronolog
 
[root@gd1214 ~]# which cronolog
/sbin/cronolog
 
2、修改catalina.sh中的内容
要想分割tomcat的catalina.out,需做如下个工作:
 
(1)第一步,找到213行
213 if [ -z "$CATALINA_OUT" ] ; then
214 CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
215 fi

不改之前长这样:

(2)第二步
注释447行的: touch "$CATALINA_OUT"
 

 (3)第三步

修改为:org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
 
(4)效果:

 

 

 

推荐阅读