《Tomcat权威指南》学习笔记

来源:互联网 发布:摄影教程视频 知乎 编辑:程序博客网 时间:2024/05/16 08:43

一、执行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应用程序)是完全不同的。事实上,这两者是完全不相干的。
     

原创粉丝点击