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

随着工作中不断的使用Tomcat,以及在以前对Tomcat不熟悉时维护Tomcat服务其中所踩到的坑,想想就在这里总结一下日常管理Tomcat服务器的几点建议,至于Tomcat的安装记得以前有写过,需要可以参看:http://jim123.blog.51cto.com/4763600/1899442,当然这个也是测试安装的说明,实际生产环境可以根据以下内容结合实际修改,在这里建议在使用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包,这个如果做了项目的自动部署的文件就会全没了,一定需要在Tomcat进程关闭后才能操作,特别是在实际生产环境中可能在一个Tomcat下有多个项目包时,所以在使用war做项目包的全量更新时需要注意是否有关闭Tomcat的进程。

7、在使用Tomcat时建议不要使用root用户去启动Tomcat程序,建议把Tomcat使用指定用户在指定用户下启动,当然文件的属组也要对,这样是提高Tomcat服务器的安全性,且开启系统中打开文件的最大句柄数(进程数)和最大线程数,如Centos 6系统下的:

[[email protected] ~]# vim /etc/security/limits.conf
…略…
* soft nofile 65535
* hard nofile 65535
[[email protected] ~]# echo "ulimit -SHn 65535" >> /etc/rc.local
[[email protected] ~]# 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://jim123.blog.51cto.com/4763600/1880582,如:

[[email protected] ~]# vim /etc/logrotate.d/tomcat
/data/tomcat/web01/logs/catalina.out {
        copytruncate
        daily
        rotate 30
        dateext
        missingok
        nocompress
        create 664 tomcat tomcat
}
[[email protected] ~]# crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf
时间: 2024-12-28 21:16:20

Tomcat服务器维护时的几点建议的相关文章

关于jdk配置正确但是tomcat服务器启动时一闪而过的解决办法

首先JDK配置没有问题,在控制台窗口下键入java或javac命令没有错误,然后排出tomcat服务器也没有放在有中文的文件夹下.但是tomcat服务无启动时候只是一闪而过.在命令行窗口下键入startup.bat时提示如下图: 提示JRE_HOME环境变量没有正确配置.解决办法在系统环境变量中加入jre_home环境变量,如下图:首先新建环境变量.变量名:jre_home,变量值:“jre所在路径” 然后再path变量中添加进刚刚新建的jre_home变量如下图: 好了再次启动tomcat启动

JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1" 2 connect

java web 学习二(Tomcat服务器学习和使用1)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1" 2 connect

Tomcat服务器学习和使用(一)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1" 2 connect

JavaWeb---总结(三)Tomcat服务器学习和使用(一)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1"2        

javaWeb学习总结(1)- Tomcat服务器学习和使用(2)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1" 2 connect

JavaWeb学习(二)---Tomcat服务器学习和使用(一)

本文整理自孤傲苍狼大大的博客,,, 一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1

JavaWeb(二)——Tomcat服务器(一)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1" 2 connect

JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)

一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tomcat服务器的webapps目录下,当Tomcat服务器启动时,就会自动将webapps目录下的war包解压. 比如现在将放到放到Tomca