阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

138次阅读
没有评论

共计 3397 个字符,预计需要花费 9 分钟才能阅读完成。

随着工作中不断的使用 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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3397字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中