资源描述
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、 根据下午提示信息,要求输入端口和管理密码(注意:如果没有必要,请不要修改端口号,默认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、 在计算机管理-服务中可以看到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(Java 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 (注意这种重命名的方式)
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 restarttomcat.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.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中的,<host/>节点中添加:
<Context path="/zbapp" docBase="D:\workspace\zbapp\WebRoot"/>
注意:需要修改系统相关配置
1.3.2. LINUX环境部署
Linux环境下部署项目和WINDOWS类同,参照以上1.3.1.1内容。
1.4. tomcat常见参数使用
1、如何解决端口冲突
Tomcat在启动时主要使用下面的3个端口
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75"enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="200000" useURIValidationHack="false" disableUploadTimeout="true" />
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8009" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="20000" useURIValidationHack="false" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
端口被占用后的现象:
8080端口被占用,tomcat刚开始启动就立即停止;
8005端口被占用,tomcat启动后期停止;
8009端口被占用,tomcat会自动使用下一个未被占用的端口,无启动问题。
如果想查看端口的使用状态,在win2000下使用命令netstat –na;在winXP/2003下使用命令netstat –nao;把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()+"<br>");
out.println("Max Memory: "+lRuntime.maxMemory()+"<br>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br>");
%>
2、 修改tomcat连接数
修改tomcat\conf\server.xml文件中的如下部分
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"port="8080" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />
其中minProcessors为最小连接数;maxProcessors为最大连接数;acceptCount为允许最大连接数;connectionTimeout为网络连接超时时间毫秒数。
3、 禁止列出目录下的文件
修改tomcat\conf\web.xml文件中的如下部分,把true设置为false。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
4、 设置session失效的时间
修改tomcat\conf\web.xml文件的如下部分,时间单位为分钟。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
5、 设置MIME响应类型
如果文件在客户端中的响应程序类型和期望不一致,修改tomcat\conf\web.xml文件中的如下部分。
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mht</extension>
<mime-type>message/rfc822</mime-type>
</mime-mapping>
6、 设置tomcat的默认访问页面
修改tomcat\conf\web.xml文件中的如下部分。
<welcome->
<welcome-</welcome-file>
<welcome-</welcome-file>
<welcome-</welcome-file>
</welcome->
7、 设置tomcat管理用户
修改tomcat\conf\tomcat-users.xml。
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="admin" password="" roles="admin,manager"/>
</tomcat-users>
1.5. tomcat调优指南
一、修改Tomcat的JVM
1、错误提示:java.lang.OutOfMemoryError: Java heap space
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”文件,在文件开头增加如下设置:JAVA_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)不会在主程序运行期对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的第一行增加:
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。)
-Xmxsize in bytes
设定Java堆的最大尺寸,缺省值为64M,(-server选项把缺省尺寸增加到128M。) 最大的堆尺寸达到将近2GB(2048MB)。
请注意:很多垃圾收集器的选项依赖于堆大小的设定。请在微调垃圾收集器使用内存空间的方式之前,确认是否已经正确设定了堆的尺寸。
垃圾收集:内存的使用
-XX:MinHeapFreeRatio=percentage as a whole number
修改垃圾回收之后堆中可用内存的最小百分比,缺省值是40。如果垃圾回收后至少还有40%的堆内存没有被释放,则系统将增加堆的尺寸。
-XX:MaxHeapFreeRatio=percentage as a whole number
改变垃圾回收之后和堆内存缩小之前可用堆内存的最大百分比,缺省值为70。这意味着如果在垃圾回收之后还有大于70%的堆内存,则系统就会减少堆的尺寸。
-XX:NewSize=size in bytes
为已分配内存的对象中的Eden代设置缺省的内存尺寸。它的缺省值是640K。(-server选项把缺省尺寸增加到2M。)
-XX:MaxNewSize=size in bytes
允许您改变初期对象空间的上限,新建对象所需的内存就是从这个空间中分配来的,这个选项的缺省值是640K。(-server选项把缺省尺寸增加到2M。)
-XX:NewRatio=value
改变新旧空间的尺寸比例,这个比例的缺省值是8,意思是新空间的尺寸是旧空间的1/8。
-XX:SurvivorRatio=number
改变Eden对象空间和残存空间的尺寸比例,这个比例的缺省值是10,意思是Eden对象空间的尺寸比残存空间大survivorRatio+2倍。
-XX:TargetSurvivorRatio=percentage
设定您所期望的空间提取后被使用的残存空间的百分比,缺省值是50。
-XX:MaxPermSize=size in MB
长久代(permanent generation)的尺寸,缺省值为32(32MB)。
二、查看Tomcat的JVM内存
1. Tomcat6中没有设置任何默认用户,因而需要手动往Tomcat6的conf文件夹下的tomcat-users.xml文件中添加用户。
如:<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
注:添加完需要重启Tomcat6。
2. 访问,输入上面添加的用户名和密码。
3. 然后在如下面的JVM下可以看到内存的使用情况。
Free memory: 2.50 MB Total memory: 15.53 MB Max memory: 63.56 MB
三、Tomcat连接数设置
在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
四、Tomcat增加一个应用
在server.xml的Host标签中增加行
<Context displayName="OA" docBase="/app/web-apps/GACWP" path="" />
path代表上下文名称,空表示是根路径
20 / 20
展开阅读全文