1、TOMCAT工作手册 1. 《tomcat工作手册》 1.1. tomcat在winodws下安装 1.1.1. 安装版 1、 双击apache-tomcat-6.0.33.exe开始安装,见图1。 图1 2、 点击Next,进入第二步,同意它的安装协议条款,见图2,点击I Agree继续安装 图2 3、 选择安装选项,默认是Normal,可以看图3 图-3 4、 点开Tomcat,选中Service,以后将可以在管理的服务中启动和关闭Tomcat,选择后,可以看图4 5、 根据下午提示信息,要求输入端口和管理密码(注意:如果没有必要,请不要修改端
2、口号,默认8080就可以) 6、 点击Next后会出现下图,它会自动找到JRE位置,如果没有安装JRE,可以修改指向JDK目录(很多安装后无法编译JSP,就是这里没找到JRE,请务必先要安装JDK,并把这个目录正确指向JRE或者JDK的目录)。 7、 点击Next开始下一步的安装路径选择,默认是C:\Program Files\Apache Software Foundation\Tomcat 6.0,点击Browse..选择新的安装路径,点击Next继续,见图7。 图5 8、 点击Install开始安装。 9、 安装结束: 10、 在计算机管
3、理-服务中可以看到Tomcat的服务了,点击启动按钮就可以启动Tomcat 11、 打开浏览器 键入 进入如下页面则表示安装成功) 1.1.2. 简易版安装 1、 解压文件:将apache-tomcat-6.0.33.zip解压到D:\xinyuan下,修改apache-tomcat-6.0.33为tomcat6 2、 启动:双击D:\xinyuan\tomcat6\bin目录下的startup.bat启动。 3、 测试:IE页面输入若出现如下页面则表示tomcat配置成功。 1.2. tomcat在linux下安装 在安装Tomcat之前需要安装j2sdk(J
4、ava 2 Software Development Kit),也就是JDK 1、 上传apache-tomcat-6.0.37.tar.gz至/usr/local/java 给这个文件添加可执行的权限 # chmod +x apache-tomcat-6.0.37.tar.gz 2、执行如下命令安装tomcat: #cd /usr/local #tar zxvf apache-tomcat-6.0.37.tar.gz 解压完成后将apache-tomcat-6.0.37重命名为tomcat # mv apache-tomcat-6.0.37 tomcat (注意这种重
5、命名的方式) 3、启动tomcat # sh /usr/local/tomcat/bin/startup.sh 输入,若看到猫的页面即tomcat安装成功 4.关闭tomcat # sh /usr/local/java/tomcat/bin/shutdown.sh 5.重启tomcat的脚本 #vim restarttomcat.sh sh /usr/local/java/tomcat/bin/shutdown.sh sh /usr/local/java/tomcat/bin/startup.sh 保存后, 加执行权限: chmod +x rest
6、arttomcat.sh 那么执行该脚本即可重启tomcat 6.将项目部署在tomcat里操作及windows完全一致, 不过linux上习惯把项目放在/var/www目录下。 7.配置tomcat开机自启动 最简单的方法: #vi /etc/rc.local 在末行加上: export JAVA_HOME="/usr/java/jdk1.6.0_37" sh /你的tomcat的path(usr/local/java/tomcat)/bin/startup.sh 1.3. 应用在tomcat下如何部署 1.3.1. WINDOWS环境部署 1.3.1.
7、1. Wabapps中部署
1、将项目文件COPY到tomcat/wabapps目录下
2、在lib包中找到eps-project.jar包,打开PROP文件夹中的eps.cfg.properties文件
3、在文件中修改数据库连接,数据库用户名和密码、网站地址等相关信息;
1.3.1.2. 在server.xml中指定
在tomcat中的conf目录中,在server.xml中的,
8、INUX环境部署
Linux环境下部署项目和WINDOWS类同,参照以上1.3.1.1内容。
1.4. tomcat常见参数使用
1、如何解决端口冲突
Tomcat在启动时主要使用下面的3个端口
9、t="8443" acceptCount="100" debug="0" connectionTimeout="200000" useURIValidationHack="false" disableUploadTimeout="true" />
10、ug="0" connectionTimeout="20000" useURIValidationHack="false" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
端口被占用后的现象:
8080端口被占用,tomcat刚开始启动就立即停止;
8005端口被占用,tomcat启动后期停止;
8009端口被占用,tomcat会自动使用下一个未被占用的端口,无启动问题。
如果想查看端口的使用状态,在win2000下使用命令netstat –na;在winXP/2003下使用命令netstat –na 11、o;把tomcat端口修改为未使用的端口然后再启动
2、 修改java虚拟机内存
修改tomcat\bin\catalina.bat文件,在JAVA_OPTS变量使用前加入
set JAVA_OPTS=-Xms128m -Xmx256m
其中Xms为最小内存,Xmx为最大内存。
设定的最大内存可用如下命令测试:java -Xmx1048m -version
可以使用如下程序代码实现对内存的监控:
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("Free Memory: "+lRuntime.freeMemory 12、)+" 14、ue设置为false。
15、web.xml文件中的如下部分。
16、e-file>
17、"tomcat"/>
18、ace
Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整Tomcat的使用内存即可解决此问题。
Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m
Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JA 19、VA_OPTS=’-Xms256m -Xmx512m’
其中,-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存。
2、错误提示:java.lang.OutOfMemoryError: PermGen space
原因:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存
放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的
Heap区域不同,GC(Garbage Collection)不会在主程序 20、运行期对PermGen space进行清理,所以如果你的应用
中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的
时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信
息了。
解决方法:
在catalina.bat的第一行增加:
set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -
XX:MaxPermSize=256m
在catalina.sh的第一行 21、增加:
JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -
XX:MaxPermSize=256m
3、JVM设置
堆的尺寸
-Xmssize in bytes
设定Java堆的初始尺寸,缺省尺寸是2097152 (2MB)。这个值必须是1024个字节(1KB)的倍数,且比它大。(-server选项把缺省尺寸增加到32M。)
-Xmnsize in bytes
为Eden对象设定初始Java堆的大小,缺省值为640K。(-server选项把缺省尺寸增加到2M。)
-Xm 22、xsize in bytes
设定Java堆的最大尺寸,缺省值为64M,(-server选项把缺省尺寸增加到128M。) 最大的堆尺寸达到将近2GB(2048MB)。
请注意:很多垃圾收集器的选项依赖于堆大小的设定。请在微调垃圾收集器使用内存空间的方式之前,确认是否已经正确设定了堆的尺寸。
垃圾收集:内存的使用
-XX:MinHeapFreeRatio=percentage as a whole number
修改垃圾回收之后堆中可用内存的最小百分比,缺省值是40。如果垃圾回收后至少还有40%的堆内存没有被释放,则系统将增加堆的尺寸。
-XX:M 23、axHeapFreeRatio=percentage as a whole number
改变垃圾回收之后和堆内存缩小之前可用堆内存的最大百分比,缺省值为70。这意味着如果在垃圾回收之后还有大于70%的堆内存,则系统就会减少堆的尺寸。
-XX:NewSize=size in bytes
为已分配内存的对象中的Eden代设置缺省的内存尺寸。它的缺省值是640K。(-server选项把缺省尺寸增加到2M。)
-XX:MaxNewSize=size in bytes
允许您改变初期对象空间的上限,新建对象所需的内存就是从这个空间中分配来的,这个选项的缺省值 24、是640K。(-server选项把缺省尺寸增加到2M。)
-XX:NewRatio=value
改变新旧空间的尺寸比例,这个比例的缺省值是8,意思是新空间的尺寸是旧空间的1/8。
-XX:SurvivorRatio=number
改变Eden对象空间和残存空间的尺寸比例,这个比例的缺省值是10,意思是Eden对象空间的尺寸比残存空间大survivorRatio+2倍。
-XX:TargetSurvivorRatio=percentage
设定您所期望的空间提取后被使用的残存空间的百分比,缺省值是50。
-XX:MaxPermSize=size 25、 in MB
长久代(permanent generation)的尺寸,缺省值为32(32MB)。
二、查看Tomcat的JVM内存
1. Tomcat6中没有设置任何默认用户,因而需要手动往Tomcat6的conf文件夹下的tomcat-users.xml文件中添加用户。
如: 26、
3. 然后在如下面的JVM下可以看到内存的使用情况。
Free memory: 2.50 MB Total memory: 15.53 MB Max memory: 63.56 MB
三、Tomcat连接数设置
在tomcat配置文件server.xml中的 27、ors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
四、Tomcat增加一个应用
在server.xml的Host标签中增加行
");
out.println("Max Memory: "+lRuntime.maxMemory()+"
");
out.println("Total Memory: "+lRuntime.totalMemory()+"
");
%>
2、 修改tomcat连接数
修改tomcat\conf\server.xml文件中的如下部分






