linux 自动重启tomcat 脚本
博客分类:
linux相关
Tomcat作为开源的服务器,性能与稳定性上比起一些商业服务器还是要差一些。将项目部署到Tomcat后隔段时间就会死掉,出现这种问题的主要原因可能是内存数据溢出,因为Tomcat容器在发生大量与数据库交互查询或者操作的时候很容易出现问题。定时重启是一个很好的补救措施,定时重启可以定时的清理内存也降低了Tomcat运行的风险,从而保持tomcat的最佳性能。
一、写一个shell脚本mytt.sh,重新启动tomcat
Java代码
1.#!/bin/sh
2.pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat | a
wk '{print $2}'`
3.echo $pid
4.if [ -n "$pid" ]
5.then
6.{
7. echo ===========shutdown================
8. /usr/local/tomcat/bin/shutdown.sh
9. sleep 2
10. pid=`ps aux | grep tomcat | grep -v grep | grep -v retomcat
| awk '{print $2}'`
11. if [ -n "$pid" ]
12. then
13. {
14. sleep 2
15. echo ========kill tomcat begin==============
16. echo $pid
17. kill -9 $pid
18. echo ========kill tomcat end==============
19. }
20. fi
21. sleep 2
22. echo ===========startup.sh==============
23. /usr/local/tomcat/bin/startup.sh
24.}
25.else
26.echo ===========startup.sh==============
27./usr/local/tomcat/bin/startup.sh
28.fi
文件名可以随便取,不过注意不要包含“tomcat”的字样,不然会被以上脚本误以为是tomcat的相关进程直接杀掉,从而无法执行后面的启动命令。
二、把mytt.sh文件放到root目录下,并修改权限为可执行文件。
三、在控制台上输入以下命令
crontab –e
四、按i键编辑这个文本文件,输入以下内容,每天凌晨5:00重启tomcat
00 05 * * * /root/mytt.sh
按esc键退出编辑,输入wq回车保存
五、启动定时服务
[root@]# service crond stop
[root@]# service crond start
Tomcat的配置文件server.xml 中各个域的说明及相关配置 2007-04-20 12:42
Tomcat网站发布配置方案详细说明 修改端口、修改默认发布目录、多域名绑定 一、修改发布端口号为80(Tomcat默认为8080) 打开配置文件(我的如下:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到: 代码如下:
第一章 Tomcat概述 一、Tomcat简介 TOMCAT是APACHE JAKARTA软件组织的一个子项目,TOMCAT是一个JSP/SERVLET容器,它是在SUN公司的JSWDK(JA V A SERVER WEB DEVELOPMENT KIT)基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JA V A SERVLET容器的特性,并被一些企业用于商业用途。 1、Tomcat Tomcat在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行Serlvet/JSP 的Web容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。Tomcat 是一种具有JSP环境的Servlet容器。Servlet容器是代替用户管理和调用 Servlet的运行时外壳。 1.1 SERVLET容器 负责处理客户请求。当客户请求来到时,SERVLET容器获取请求,然后调用某个SERVLET,并把SERVLET的执行结果返回给客户。 当客户请求某个资源时,SERVLET容器使用SERVLETREQUEST对象把客户的请求信息封装起来,然后调用JA V A SERVLET API中定义的SERVLET的一些生命周期方法,完成SERVLET 的执行,接着把SERVLET执行的要返回给客户的结果封装到SERVLETRESPONSE对象中,最后SERVLET容器把客户的请求发送给客户,完成为客户的一次服务过程。 1.2 TOMCAT的工作模式 1.2.1 独立的SERVLET容器 TOMCAT的默认工作模式,作为独立的SERVLET容器,是内置在WEB服务器中的一部分,是指使用基于JA V A的WEB服务器的情形。 其他两种方式是TOMCA T与其他服务器集成的方式: 1.2.2 进程内的SERVLET容器 SERVLET容器作为WEB服务器的插件和JA V A容器的实现。WEB服务器的插件在内部地址空间打开一个JVM(JA V A VIRTUAL MACHINE)使JA V A容器得以在内部运行。如有某个需要调用SERVLET的请求,插件将取得对此请求的控制并将它传递(使用JNI)给JA V A容器。进程内的容器对于多线程、单进程的服务器非常适合,并且提供了很好的运行速度,只是伸缩性有所不足。 注意:JNI是JA V A NATIVE INTERFACE的缩写,是JA V A本地调用接口,通过JNI,JA V A 程序可以和其他语言编写的本地程序进行通信。 1.2.3 进程外的SERVLET容器 SERVLET容器运行于WEB服务器之外的地址空间,并且作为WEB服务器的插件和JVM 使用IPC(如TCP/IP)进行通信。进程外容器的反应时间不如进程内的容器,但有较好的伸缩性、稳定性等性能。 IPC INTERPROCESS COMMUNICATION(进程间通信)的简写,它是实现进程间通信的一
tomcat6.0配置 第一步:下载j2sdk和tomcat:到sun官方站点 最新的jdk为1.6.04,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上 第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后设置按照路径进 行安装即可。 1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加 以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2): JAVA_HOME=c:\j2sdk1.4.2 classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表 当前路径) path=%JAVA_HOME%\bin 接着可以写一个简单的java程序来测试J2SDK是否已安装成功: 将上面的这段程序保存为文件名为Test.java的文件。 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令 javac Test.java java Test 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需 要仔细检查一下你的配置情况。 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的 tomcat安装在c:\tomcat): CATALINA_HOME:c:\tomcat CATALINA_BASE:c:\tomcat TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到 classpath中去,修改后的classpath如下:
第1章Tomcat的安装与配置 Tomcat可以运行Servlet和JSP,是一个小型的轻量级应用服务器,它性能稳定、扩展性好、源码开放,是开发中小型Web应用系统的首选。本章首先介绍Tomcat服务器特点、层次结构、应用处理流程及发展史,然后讲述Tomcat的安装、设置和测试,接着介绍Tomcat 目录结构、常用配置平台、控制和管理程序等,最后设计一个不需数据库支持的简单聊天室。 1.1 Tomcat简介 Tomcat是Sun的JSWDK(Java Server Web Development Kit)中的Servlet容器,属于Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司和个人共同开发而成。Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个Web服务器软件,受到了Sun公司的大力推荐和支持。因此,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。 与传统桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件,它是许多文件构成的一个压缩包,包中的文件按照一定目录结构来组织,不同目录中的文件也具有不同的功能。部署应用程序时,只需要把WAR文件放到Tomcat的webapp目录下,Tomcat会自动检测和解压该文件。JSP文件第一次执行时,要先由Tomcat将其转化为Servlet文件,然后编译,所以速度会慢一些,但后继执行时速度会很快。 Tomcat既是一个Servlet容器,又是一个独立运行的服务器,像IIS、Apache等Web 服务器一样,具有处理HTML页面的功能。但它处理静态HTML文件的能力并不是太强,所以一般都是把它当作JSP/Servlet引擎,通过适配器(Adapter)与其他Web服务器软件(如Apache)配合使用。此外,Tomcat还可与其他一些软件集成起来实现更多功能,例如,与JBoss集成起来开发EJB、与OpenJMS集成起来开发JMS应用、与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用等。 Tomcat是一个小型的轻量级应用服务器,运行时占用系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。Tomcat适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。先进的技术、稳定的性能、源码开放和免费获取的机制,使得Tomcat深受Java爱好者的喜爱并得到了许多软件开发商的认可,成为目前相当流行的Web应用服务器。 1.1.1 Servlet简述 谈起Tomcat,就不能不说Servlet,如果没有Servlet的应用需求,就没有Tomcat的产
一、静态部署 1、直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用cmd 命令:jar -cvf mywar.war myweb webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
第一种方法:在tomcat 中的conf 目录中,在server.xml 中的,
TOMCAT的安装配置 第一步:下载jdk和tomcat 第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。 1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量 ->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java):JA VA_HOME=C:\Program Files\Java\jdk1.6.0_10 classpath=.;%JAV A_HOME%\lib\dt.jar;%JAV A_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) path=%JA VA_HOME%\bin 接着可以写一个简单的java程序来测试JDK是否已安装成功: public class Test{ public static void main(String args[]){ System.out.println("This is a test program."); } } 将上面的这段程序保存为文件名为Test.java的文件。 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.java java Test 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环 境变量(假定你的tomcat安装在c:\tomcat): CATALINA_HOME:c:\tomcat CATALINA_BASE:c:\tomcat TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALIN A_HOME%\common\lib\servlet-api.jar;
tomcat6.0配置 第一步:下载jdk和tomcat:JDK下载Tomcat下载 最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上 第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。 1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java): JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10 classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) path=%JAVA_HOME%\bin 接着可以写一个简单的java程序来测试JDK是否已安装成功: public class Test{ public static void main(String args[]){ System.out.println("This is a test program."); } } 将上面的这段程序保存为文件名为Test.java的文件。 然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令 javac Test.java java Test 此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。 2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):CATALINA_HOME:c:\tomcat CATALINA_BASE:c:\tomcat TOMCAT_HOME: C:\Tomcat 然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath 如下: classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar; 【注意最新版本的Tomcat中可能没有common这个文件夹了。所以servlet-api.jar应该的路径为 %CATALINA_HOME%\lib\servlet-api.jar;请根据自己的情况自己修改!】 接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。 第三步:建立自己的jsp app目录 1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录; 2.在webapps目录下新建一个目录,起名叫myapp; 3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 4.WEB-INF下新建一个文件web.xml,内容如下:
Tomcat报告——Tomcat中SSI的配置 1.简介: SSI全称(Server Side Includes)是在HTML静态页面中使用的指令,当页面在服务端执行的时候是可以进行服务端解析的。这种方式可以让我们在存在的HTML页面里面分块动态生成内容而不在整个执行了CGI等服务端技术的基础之上进行动态页面服务。在返回请求的页面(包含SSI指令)前,服务器会处理这些指令,并用处理的结果替换指令,然后把页面返回。我们使用Tomcat作为Http 服务器的时候,我们需要使用SSI可以在Tomcat添加对SSI的支持。 Tomcat服务器的SSI支持的实现方式和Apache里面的SSI指令一样,在Tomcat里面实现SSI支持使用的是一个Servlet和一个Filter(Servlet和Filter的基本信息参考JSP教程),我们可以使用其中一种方式来进行SSI支持的配置,但是不需要两个同时配置,同时配置是否会产生冲突我不太清楚,一般情况下配置一个就可以了。 实现SSI支持的Servlet实现使用了org.apache.catalina.ssi.SSIServlet,另外需要在Servlet的路径解析里面添加映射规则“*.shtml”。 实现SSI支持的Filter使用了org.apache.calalina.ssi.SSIFilter。另外,在Filter 路径解析里面也需要添加映射规则“*.shtml”,而且在Filter配置的时候需要在映射规则里面添加能够执行的mime type,contentType的初始化参数允许你执行服务器下边的资源。在Tomcat里面默认是禁用了SSI的。 注意:SSI指令执行Tomcat外部的JVM,如果我们使用Java的安全管理器需要在calalina.policy文件里面进行配置。若要使用SSI Servlet和SSI Filter,直接在服务器的路径$CATALINA_BASE/conf/web.xml文件里面将SSI的注释去掉。需要注意的是在Tomcat服务器里面仅仅只有标记了privileged的Context可以使用SSI 功能。(*:当privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet,Tomcat的文档里面讲了使用的lib的域,每个应用程序如果不设置这个属性,是不能访问容器内的Servlet的,这里应该指代的是全局的Servlet)否则这里会遇到异常: https://www.doczj.com/doc/805433385.html,ng.SecurityException: Filter of class org.apache.catalina.ssi.SSIFilter(SSIServlet)is privileged and cannot be loaded by this web application 2.服务器配置属性: 在配置SSI Servlet的时候需要用到的参数(init parameters)如下: buffered:是需要将输入保存到缓冲区(0=false,1=true)默认是0(false)
这几天在弄个小东西,要用到数据库,以前就听说过数据库连接池这个概念,所以就打算在这个小东西中加入数据库连接池。呵呵。从网上搜了一些资料。今天就整理一下。我搜到的设置基本上主要有两种方法我们以MySQL+TOMCAT为例 1.把DataSource设置到我们的WEB项目中,下面详细的介绍下: 第一步:在我们的WEB项目中的META-INF文件夹下建立一个context.xml Xml代码
Tomcat参数配置与简单的性能验证 在对Tomcat服务器的web应用进行性能测试的过程中,有时LoadRunner中总会报错: Action.c(71): Error -27791: Server "localhost" has shut down the connection prematurely,但是这个错误并不是每次测试都会出现,通常在长时间的测试之后才偶尔出现,而奇怪的是在Tomcat的日志中并没有相应的错误。从出错信息的字面信息来看,应该是服务器由于某些原因过早的关闭了连接,而Tomcat并不认为这是一个错误,因此没有在日志中记录下来。在网上的搜索中看到,这个错误在其他的服务器如WebLogic、IIS等均有发生,看来是一个通用的问题。 在诊断的过程中,发现Tomcat运行界面有时会提示:“严重: All threads (10) are currently busy, waiting. Increase maxThreads (10) or check the servlet status”,根据这一线索对Tomcat的server.xml中的maxThreads、connectionTimeout参数进行配置,解决了这个问题。 试验:为了验证这两个参数对测试结果的影响,做了一些试验。 测试场景:一个测试脚本、20个虚拟用户、10次迭代 参数设置及相应运行结果: maxThreads connectionTimeout(豪秒)错误个数 5 1000 16 10 1000 13 15 1000 7 20 1000 0 5 10000 1 10 10000 0 15 10000 0 20 10000 0 试验结论 当最大线程数较少、超时时间较短时,出现这个错误的次数就越多;随着最大线程数逐步接近并发用户数,
任务目标: 两个项目《易汇》《体系管理》部署在同一服务器中,并易汇不通过项目名称访问,而体系管理通过“/qc”访问,效果如下: http://localhost:8080 访问易汇管理系统 http://localhost:8080/qc/访问体系管理系统 解决过程与遇到问题: 刚开始尝试时候,参照相关资料连接1配置方式,进行模仿。 1.先解决只部署一个项目时,去除项目名称访问该项目 找到D:\apache-tomcat-6.0.39\conf\server.xml 配置文件,并在
Tomcat安装配置 一、准备工作 在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,就只需TOMCAT即可。 笔者使用的软件如下: Windows 2000 Advance Server + SP4 J2SDK v1.4.2_04 - https://www.doczj.com/doc/805433385.html,/J2SE/1.4.2/download.html TOMCAT v5.0.28 - http://apache.Linux https://www.doczj.com/doc/805433385.html,/dist/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5 .0.28.exe 二、安装J2SDK 安装很简单,只需双击下载的文件,笔者选择安装在d:\j2sdk1.4.2_04目录下。 设置环境变量,方法如下: 右击“我的电脑”==》属性==》高级==》环境变量==》新建... 变量名:JAVA_HOME 变量值:d:\j2sdk1.4.2_04 三、安装TOMCAT 运行jakarta-tomcat-5.0.28.exe 按照提示安装,偶这里选择了Service,就是作为Windows服务来运行。
如果要改变安装路径,可以在这个步骤操作,偶这里选择安装在D:\Tomcat 5.0 在这里设置TOMCA T使用的端口以及Web管理界面用户名和密码,请确保该端口未被其他程序占用
选择J2SDK的安装路径,安装程序会自动搜索,如果没有正确显示,则可以手工修改,偶这里改为d:\j2sdk1.4.2_04
接下来就开始拷贝文件了,成功安装后,程序会提示启动tomcat并查看readme文档。 Tomcat正常启动后会在系统栏加载图标。 在图标上右键鼠标可以看到一些设置项目 点击Configure...或者双击图标可看到如下显示,选择Startup type为automatic自动启动,这样每次开机后就会自动运行TOMCA T。 另外也可在这个界面点击start或stop按钮来控制tomcat的运行。 四、测试
1. tomcat的部署方式 以下部署方式都是针对tomcat5.0以上版本。 1.1 Context descriptors Tomcat4中的Manager和Admin管理工具其实就是利用它来部署的。在Tomcat5中提出了 Context descriptor这个概念,且为其配置了一个专有目录,而不像Tomcat4那样大杂烩 一般地放置在$appBase目录下。Context descriptor是一个只包含Context元素的xml格 式的部署文件,其中Context元素与server.xml中的Context元素配置相同。对于一个给 定的主机,Context descriptor放置在$CATALINA_HOME/conf/[enginename]/[hostname]/ 目录下面。Tomcat5默认安装时,在$CATALINA_HOME/conf/Catalina/localhost目录中有 admin.xml和manager.xml,是两个管理工具的部署描述符文件。而这两个文件在Tomcat4 中是放置在$CATALINA_HOME/webapps目录下面的。 使用方法: (1) 在$CATALINA_HOME/conf/[enginename]/[hostname]/目录下新建xxx.xml文档 (2) 在xxx.xml文档中配置如下
?Tomcat常用的优化技巧 1.屏蔽DNS查询 Web应用程序可以通过Web容器提供的getRemoteHost()方法获得访问Web应用 客户的IP地址和名称,但是这样会消耗Web容器的资源,并且还需要通过IP地址 和DNS服务器反查用户的名字。因此当系统上线时,可以将这个属性关闭,从而 减少资源消耗,那么Web应用也就只能记录下IP地址。修改的属性是 enableLoopups=”false”。 2.调整线程数 Tomcat通过线程池来为用户访问提供响应,对于上线的系统初步估计用户并发数 量后,再调整线程池容量。例如,用户并发数量在100左右时,可以设置 minProcessors=”100”,maxProcessors=”100”。将最大和最小设置为一样后,线程池 不会再释放空闲的线程,当用户访问突然增加时,不需要再消耗系统资源去创建新 的线程。 3.调整最大连接数 这个其实最复杂,即使用户并发量大,但是系统反应速度快,也没必要把这个值设 置太高,高了系统需要消耗大量的资源去切换线程,但是如果设置太低也会造成应 用无法满足用户并发需要。因此设置这个最好能够结合整个系统的跟踪与调优,使 系统达到最好的平稳状态,一般设置为maxProcessors的1.5倍即可。 4.调整网络超时 主要是HTTP协议也有个连接过程,客户端连接到服务器上后,如果长时间没有得 到处理就会被释放。如果服务器处理速度较慢,但是希望每个用户都能得到有效处 理,或者网络环境不好,需要保证用户不会因为超时中断,也可以把时间加长。但 是一般设置成connectionTimeout=”30000”即可。太长对系统来说价值不大,反而 会浪费系统资源在无谓的长连接上。 5.具体修改如下 ?minProcessors:最小空闲连接线程书,用于提高系统处理性能,默认值为10. ?maxProcessors:最大连接线程书,即并发处理的最大请求数,默认值为75. ?acceptCount:允许的最大连接数,应大于等于maxProcessors,默认为100. ?enableLookups:是否反查域名,取之为true或false。为了提高处理能力,应设置为false。 ?connectionTimeout:网络连接超时,单位为毫秒。设置为0表示永不超时,但这样设置存在隐患,通常可设置为20000毫秒。 ?Tomcat常用配置 1.为tomcat添加管理员 tomcat目录---conf文件夹---tomcat-users.xml添加以下代码