你好,游客 登录 注册 搜索
背景:
阅读新闻

Tomcat服务器维护时的几点建议

[日期:2017-08-24] 来源:Linux社区  作者:jim123 [字体: ]

随着工作中不断的使用Tomcat,以及在以前对Tomcat不熟悉时维护Tomcat服务其中所踩到的坑,想想就在这里总结一下日常管理Tomcat服务器的几点建议,至于Tomcat的安装记得以前有写过,需要可以参看:http://www.linuxidc.com/Linux/2017-02/140856.htm,当然这个也是测试安装的说明,实际生产环境可以根据以下内容结合实际修改,在这里建议在使用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工具检查,并且在服务器的防火墙上开启相应的端口:

…略…
<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包,如果做了项目的自动部署的功能,那么移动或者删除webapps中的的war包,项目文件就会全没了,所以一定需要在Tomcat进程关闭后才能操作,特别是在实际生产环境中可能在一个Tomcat下有多个项目包时,所以在使用war包做项目包的全量更新时,需要注意是否有关闭Tomcat的进程。

    7、在使用Tomcat时建议不要使用root用户去启动Tomcat程序,建议把Tomcat使用指定用户在指定用户下启动,当然文件的属组也要对,这样是提高Tomcat服务器的安全性,且开启系统中打开文件的最大句柄数(进程数)和最大线程数,如CentOS 6系统下的:
[root@localhost ~]# vim /etc/security/limits.conf
…略…
* soft nofile 65535
* hard nofile 65535
[root@localhost ~]# echo "ulimit -SHn 65535" >> /etc/rc.local
[root@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工具以前有做过相应的参数说明,在这里就不做赘述了,可以参看:http://www.linuxidc.com/Linux/2017-02/140261.htm,如:

[root@localhost ~]# vim /etc/logrotate.d/tomcat
/data/tomcat/web01/logs/catalina.out {
        copytruncate
        daily
        rotate 30
        dateext
        missingok
        nocompress
        create 644 tomcat tomcat
}
[root@localhost ~]# crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf

更多Tomcat相关教程见以下内容

CentOS 6.6下安装配置Tomcat环境  http://www.linuxidc.com/Linux/2015-08/122234.htm

RedHat Linux 5.5安装JDK+Tomcat并部署Java项目  http://www.linuxidc.com/Linux/2015-02/113528.htm 

Tomcat权威指南(第二版)(中英高清PDF版+带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm 

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm 

Linux下使用Xshell查看Tomcat实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm 

CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm 

CentOS 6.5下安装Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm 

Tomcat中session的管理机制  http://www.linuxidc.com/Linux/2016-09/135072.htm

Tomcat 的详细介绍请点这里
Tomcat 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146487.htm

linux
相关资讯       tomcat服务器 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款