一、执行Tomcat的相关脚本
catalina Tomcat主要脚本,它会执行java命令以调用Tomcat的启动与停止类
shutdown catalina stop的别名,用来停止Tomcat。(Tomcat HTTP服务器的默认端口8080)
startup catalina start的别名,用来启动Tomcat。(Tomcat停止服务器的默认端口8005)
setclasspath 用于系统的内部,以设定Tomcat的classpath环境变量
执行catalina时,必须附带一个参数,最常用的是start、stop、run。当你使用catalina及start选项,或调用startup脚本而非使用参数run,那么你会在控制台上看到头几行Using...;其余的输出信息则被重定向到catalina.out的日志文件中。因此,当你想看到启动时的输出时,run这个参数会有帮助,但不会重定向标准输出与错误。
catalina脚本还有几个启动参数:
-config 指定另一个server.xml配置文件
-nonaming 在Tomcat中停用JNDI
-security 启用catalina.policy文件
-embedded 在嵌入式模式中测试Tomcat
-jpda start 将Tomcat启动在符合Java Platform Debugger Architecture的调试环境中
二、Tomcat的环境变量
CATALINA_BASE 设定Tomcat于运行期读写数据所在的基本目录
CATALINA_HOME 此为Tomcat启动文件找到Tomcat所在的目录,让Tomcat能动态加载自己的程序代码。默认值是Tomcat安装目录。
CATALINA_OPTS 将命令行选项传给java命令
JAVA_OPTS CATALINA_OPTS的别名
JAVA_HOME 设定Java环境的位置
JSSE_HOME 设定用于HTTPS的Java Secure SocketsExtension的位置
JPDA_ADDRESS 设定用于catalina jpda start命令的JPDA地址,默认值是8000
Java运行时环境具备如“最大堆栈大小”的限制条件。java命令的选项可以让你控制这些限制值,例如:
java -Xmx=64M MyProg
就会以最大64MB的内存来执行称为MyProg的类文件。
使用Tomcat时,因为执行servlet可能会在Java环境中占据许多内存,如欲在这个或其他选项传给启动Tomcat的Java命令,则在执行Tomcat的启动脚本之前,可以在环境变量CATALINA_OPTS中设定选项。例如:
export CATALINA_OPTS="-Xmx=128M" (Linux)
set CATALINA_OPTS="-Xmx=128M" (Ms-Dos)
最好将它们添加到环境变量中去,Linux就是在/etc/profile文件中添加一行:export CATALINA_OPTS=“-Xmx=128M”
三、Tomcat安装后的测试与强迫停止
1、检查Tomcat是否正在运行:
# ps auwwx | grep catalina.startup.Bootstrap (在Linux或*BSD上)
你应该会看到好几个Java进程。这个ps命令会寻找在Tomcat JVM上任何剩余的Tomcat进程。
2、当Tomcat无法正常停止时,如果要强迫它结束,可以将SIGTERM信号传给你发现的进程,告诉VM结束进程(请确定你有正确的用户权限):
# kill -SIGTERM <process-ID-list>
重复第1步动作,如果还有剩余的Tomcat JVM进程,则重复第2步,直到完全没有进程为止,如果这些进程还在持续中,则改以下面的方式删除它们:
# kill -SIGKILL <process-ID-list>
四、设定Tomcat
1、Servet container或Web应用程序本身都可以控制Web应用程序资源的安全防护。在J2EE规范中,前者称为容器管理(container-managed)的安全防护,而后者则称为程序管理(application-managed)的安全防护。不管是何种安全防护的类型,都使用称为领域(realm)的组来管理用户和密码。领域只是用户、密码及角色的集合。
2、在Tomcat中范围(context)是用于Web应用程序的一个技术名词,这个名词与Web应用程序是一样的意思,并且有一组对应的XML元素与属性。此范围定义于Tomcat的server.xml文件中。
3、Tomcat支持4种容器管理的安全防护,而每种类型都以不同的方式取得身份。
基本验证:通过HTTP验证,将用户的密码加密成base64编码的文字。
(在web.xml文件中auth-method元素设为BASIC)
摘要验证:通过HTTP验证,将用户的密码加密成摘要编码的字符串。
(在web.xml文件中auth-method元素设为DIGEST)
表单验证:在网页的表单上要求用户密码。
(在web.xml文件中auth-method元素设为FORM)
Client-cert验证:以客户端数字证书来确认用户的身份。
(在web.xml文件中auth-method元素设为client-cert)
只有当你在SSL(亦即HTTPS)上提供网页内容时,才能使用client-cert的验证方式。
4、JNDI用来寻找数据库的来源及其他资源,当通过JNDI来访问时,这些资源则被称为“范围”(context)。
注意:JNDI的范围与Tomcat的范围(它代表Web应用程序)是完全不同的。事实上,这两者是完全不相干的。