日期:2014-05-16  浏览次数:20761 次

Linux tomcat远程调试&tomcat相关配置
tomcat默认的工作目录是appBase="webapps",
访问localhost:8080/prj/时,tomcat会对应到webapps目录下的prj项目(/webapps/prj/下的web工程)
访问localhost:8080或者localhost:8080/的时候不带项目名,默认情况下tomcat会把访问对应到webapps目录下ROOT根目录下的工程,然后ROOT根目录下的工程根据web.xml中定义的servlet和servlet-mapping,决定了对于不同的访问url,都做什么样子的处理!(譬如:对于.do访问用struts中action来处理,.aspx访问用自己编写的servlet来处理!【可以在servlet中把.aspx,转成.do后forward给struts继续处理了!】)这样外面看起来的效果就是tomcat能处理aspx文件, 也可以用urlrewrite来实现这个效果
也可以做如下配置来修改不待项目名访问tomcat时,对应的web工程目录
<Host name="localhost"  appBase="webapps" 
        unpackWARs="true" autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="E:\struts-ITRCbook\myStrutsbook" reloadable="true">
    </Context>
</Host>

-- 远程调试
service prjtomcat.sh stop

cd /opt/apache_tomcat-6.0.28_1/bin/
./catalina.sh jpda start
或者直接修改startup.sh,然后用startup来启动tomcat
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
-->
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

-- catalina.properties
在common.loader后面增加自己多个项目公用的独立jar包目录
common.loader=...,${catalina.home}/mylib/*.jar

-- server.xml
Server:服务器 Service:服务,是Connector的集合 Connector:对外访问的端口,可以定义不同协议的Connector Host:虚拟主机
<Host>节点内增加下述配置,可以输出tomcat的访问access日志
     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".log" pattern="common" resolveHosts="false"/>
<!-- 默认对外用IP访问 -->
<Connector port="8021" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!-- 限制只能使用localhost访问 -->
            <Connector
        address="localhost"
        port="8041"
        protocol="AJP/1.3"
        redirectPort="8443"
        maxThreads="150"
        connectionTimeout="600000"/>

-- context.xml
每个web应用的共通上下文,在其中可以配置ResourceLink,也可以配置自定义的classloader, 在catalina.properties中增加compane.loader, 然后编写相应的loader类来加载,同时在其中定义了默认监视的资源文件web.xml,<WatchedResource>WEB-INF/web.xml</WatchedResource>

-- logging.properties
tomcat相关日志配置(catalina.log, localhost.log, manager.log, etc)

-- 设置系统变量
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES="false"

-- catalina.bat
CATALINA Server的启动停止脚本,可以设置jvm参数JAVA_OPTS,JPDA远程调试相关参数如端口,tomcat日志配置信息等
在echo Using CATALINA_BASE:   "%CATALINA_BASE%"前面增加下面语句修改JMV参数
JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx024m -XX:PermSize=128m -XX:MaxPermSize=512m"
或者Linux在空白处设置环境变量
export JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx2048m -XX:MaxPermSize=512m"

catalina.bat默认支持的调用:start stop run debug version
echo Usage:  catalina ( commands ... )
echo commands:
echo   debug             Start Catalina in a debugger
echo   debug -security   Debug Catalina with a security manager
echo   jpda start        Start Catalina under JPDA debugger
echo   run               Start Catalina i