设为首页 收藏本站
查看: 534|回复: 0

[经验分享] Tomcat服务器维护时的几点建议

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-21 10:03:01 | 显示全部楼层 |阅读模式
随着工作中不断的使用Tomcat,以及在以前对Tomcat不熟悉时维护Tomcat服务其中所踩到的坑,想想就在这里总结一下日常管理Tomcat服务器的几点建议,当然这个也是测试安装的说明,实际生产环境可以根据以下内容结合实际修改,在这里建议在使用Tomcat时去官网下载需要使用相应大版本中的最新小版本二进制包。     1、在实际生产环境中一般一台服务器上往往会不止一个Tomcat程序,所以在有一台服务器上有多个Tomcat时就不要定义Tomcat的二进制文件的PATH(/etc/profile.d/tomcat.sh),记得以前写的是只有一个Tomcat测试就顺手定义了一下。
    2、在新下载下来的Tomcat中,需要删除那些没有用的说明文件以及在webapps目录下的一切Tomcat默认页面、Tomcat说明文档、示例、默认后台等等,因为在实际生产环境中有这些页面会对Tomcat的版本等相关信息泄露,所以在解压开使用时需要删除webapps目录下一切文件,webapps目录用于存放项目包。
    3、在一台服务器上有多个Tomcat时需要注意的是对Tomcat的文件夹规范的重命名,根据实际的使用情况把多个Tomcat统一归档文件夹管理,在解压开未重命名情况下都是以Tomcat的包都是以“apache-tomcat-版本号”的命名,这个绝对需要改的,还有在有在多个Tomcat之间需要注意所监听的端口,莫要让多个Tomcat之间端口冲突,这样新的冲突Tomcat是无法启动的,修改的配置文件是conf目录下的server.xml文件,除非是相应的Tomcat连接数等相关参数调优时,不然不建议项目中的一些配置直接在server.xml文件中修改,其中需要修改的有2个端口,分别是:shutdown和使用的监听端口,可以使用ss工具检查,并且在服务器的防火墙上开启相应的端口:

1
2
3
4
5
6
7
…略…
<Server port="8005" shutdown="SHUTDOWN">
…略…
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
…略…



    4、在平时启动Tomcat的时候建议使用bin目录下的startup.sh或startup.bat启动Tomcat,在未对Tomcat的配置参数做出调优调整时,Tomcat的默认缺省使用JVM的内存是新生代和老生代都是2048Mb,这一点需要注意免得一台服务器上部署太多Tomcat,资源不足,当然如果有调优过,那么建议把调优的参数统一写在bin目录下的startup.sh/startup.bat或者是catalina.sh/catalina.bat文件下,总之对Tomcat中使用JVM的内存相关参数需要统一写在一个文件下,以免后期调整Tomcat的内存参数时找不到。
    5、在开源Unix系统下默认从源上Java JDK包都是openjdk,实际生产环境中可能并不是使用openjdk,所以在JDK安装时请根据实际情况选择,如果是使用非openjdk的版本时请使用yum或者apt卸载掉openjdk后去Oracle官网下载相应的JDK版本,这个也需要注意使用的版本,请结合实际需要使用的JDK去下载,如果是一台服务器上都是用同一版本,如Linux下建议下载rpm包后用yum本地安装,顺便有缺少的依赖包都解决了,还可以检查。
    6、在Tomcat使用自动部署时,尤其是在做旧项目的版本更新是,尤为注意的是在Tomcat的进程没有关闭之前不能移动或者删除项目文件夹webapps中的war包,这个如果做了项目的自动部署的文件就会全没了,一定需要在Tomcat进程关闭后才能操作,特别是在实际生产环境中可能在一个Tomcat下有多个项目包时,所以在使用war做项目包的全量更新时需要注意是否有关闭Tomcat的进程。
    7、在使用Tomcat时建议不要使用root用户去启动Tomcat程序,建议把Tomcat使用指定用户在指定用户下启动,当然文件的属组也要对,这样是提高Tomcat服务器的安全性,且开启系统中打开文件的最大句柄数(进程数)和最大线程数,如Centos 6系统下的:
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@localhost ~]# vim /etc/security/limits.conf
…略…
* soft nofile 65535
* hard nofile 65535
[iyunv@localhost ~]# echo "ulimit -SHn 65535" >> /etc/rc.local
[iyunv@localhost ~]# vim /etc/security/limits.d/90-nproc.conf#根据实际修改,原先1024个线程在实际生产环境中肯定是不够的
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     65535
root       soft    nproc     unlimited



    8、对Tomcat的相关日志做相应的轮替切割,尤其是logs目录下的catalina.out,可以使用系统的logrotate工具,至于logrotate工具以前有做过相应的参数说明,在这里就不做赘述了,如:
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@localhost ~]# vim /etc/logrotate.d/tomcat
/data/tomcat/web01/logs/catalina.out {
        copytruncate
        daily
        rotate 30
        dateext
        missingok
        nocompress
        create 664 tomcat tomcat
}
[iyunv@izwz97woy7enrzjaa8v7tez ~]# crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-403196-1-1.html 上篇帖子: Tomcat部署 下篇帖子: Linux 下 tomcat基于nginx做负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表