1.综述
Tomcat是Java Servlet容器和Web服务器,长于根据请求进行响应,并给用户展现动态和静态网页的程序,最终将静态和动态效果传送到用户的浏览器上。
解压Tomcat压缩包,Linux环境下,命令为tar zxvf
Bin目录下存在启动和终止Tomcat的SH活BAT脚本。
Catalina脚本是Tomcat的主要脚本,用于执行Java命令,以调动Tomcat的启动类和终止类。命令执行Catalina,参数是run 、start、stop。当以start调用Catalina时,启动Tomcat,将标准输出和错误流导出到$TOMCAT/logs/catalina.log中;run会让Tomcat保留当前标准输出与错误流。
Shutdown运行Catalina以停止Tomcat运行
startup运行Catalina以启动Tomcat运行
JDK1.3默认最大堆栈大小只有32MB。更改可以执行,java –Xmx=256M MyProg会执行MyProg的类文件,并给整个Java运行时进程分配256M的内存。
安装完毕,测试URL:http://localhost:8080
2.配置
使用Tomcat时,服务器会从conf和webapps目录中读取配置文件,并将文件写入logs、work、temp中。
拷贝Tomcat到新目录启动新实例的话,需修改conf/server.xml文件中的port和connector的port没有被使用。可以使用netstat –a 或netstat –a tcp查看正在使用的端口号。
若想改变Tomcat默认的8080端口,需修改conf/server.xml文件中主connector,寻找类似protocol=”HTTP/1.1” connectionTimeout=”2000”一句对应的port。
Tomcat默认请求来自8080端口,因为在8080端口打开了web服务器连接器,因此无论如何发送重定向,都会追加8080端口,除非在protocol=”HTTP/1.1” connectionTimeout=”2000”一句中加入proxyPort=”需要的端口号”.
Jsvs是Java Service的缩写。是Tomcat二进制发行版所带的服务封装器。
Tomcat的运行方式部分取决于所运行的JVM的配置信息。设置JVM启动的开关有:
-Xms设置JVM启动时堆栈内存大小
-Xmx设置JVM可扩展的最大内存大小。
-Djava.security.debug=all处于安全性,打开所有调试输出。
-verbose:class启用verbose class加载调试输出
-verbose:gc启用verbose 垃圾回收调试输出
-Duser.language=en设置Tomcat绑定的语言
-Dfile.encoding=UTF-8设置Tomcat默认的文件编码格式
以大的或小的启动堆栈内存配置JVM,都会引发网页响应时间超出Java JVM堆栈的最大值的某种问题。因为Tomcat正提供响应时会占用大量的时间重新分配内存。如果不想出现这种问题,在设置-Xms和-Xmx必须使其一致,从而保证JVM操作过程中不需要重新分配堆栈内存。
Tomcat绑定了JDT编译器,所以Tomcat在JRE或完整的JDK中运行时,可以编译并充当JSP页容器。即使JDK有javac编译器,Tomcat也不用,只需Tomcat绑定的Java编译器可以编译javac所能编译的JSP网页即可。(Ant默认使用JDK的编译器)
Tomcat使用领域的组来管理用户与密码。Tomcat的conf/server.xml文件的领域(用户、角色、密码的集合)配置,及web应用程序的WEB-INF/web.xml中的security-constraint定义了如何存储用户和角色信息。
Web应用程序在web.xml中设定哪些用户组可以访问哪些资源。Tomcat管理员可以使用一个或多个领域实现获取用户、密码及角色信息。
当访问受保护的资源时,容器管理的验证方法可以控制确认用户身份的方式。Tomcat支持四种容器管理,不同类型采用不同的方式或趋势身份:基本验证和摘要验证(都是通过HTTP验证),表单验证(提交用户密码),client-cert验证(客户端数字证书验证)。
默认情况下,Tomcat发现servlet的类文件修改时,会自动重载该servlet。关闭该功能只需在web.xml中设定reloadable,并重启Tomcat。
定制用户目录
用~表示用户目录。