欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tomcat下配置通过端口直接访问web应用

程序员文章站 2023-12-30 17:43:46
...

通常tomcat下的web应用都是使用http://localhost:8089/app1这样的方式去访问的,但今天突然间觉得还要加一个应用名app1有点麻烦,有没有一种配置实现直接通过http://localhost:8089接可以直接访问到app1呢,通过查阅资料找到相应配置的方法,现记录如下:
  找到tomcat的conf/server.xml文件,在根节点<server></server>下有一个<service></service>节点,在这个节点中配置如下:

<Service name="Catalina">
    <connector port="13082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

    <Engine name="Catalina" defaultHost="localhost">

        <Realm className="org.apache.catalina.realm.LockOutRealm">

            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
        </Realm>

        <Host name="localhost" appBase="webapps"
              unpackWARs="true" autoDeploy="true">
            <Context path="/" docBase="app1" reloadable="true"/>

            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t "%r" %s %b"/>

        </Host>
    </Engine>
</Service>

其中:
1. <Service>的name属性是指定应用的名称
2. <connector>中的port属性是指定该应用访问的端口
3. <Host>中的name属性是配置该应用的访问域名,appBase是指定应用所在的父目录
4. <Context>中的属性是关键的配置,path指定应用访问的地址,实例中使用"/"是直接使用端口访问的,docBase指定应用的所在位置,例中使用的是相对位置,是appBase的子目录,即webapps下,当然也可以使用绝对路径

这样配置好后重启tomcat就可以通过http://localhost:8089访问app1啦。



---____


题外:在一台物理机上可能启动了多个java应用,这时候想使用ps -ef | grep java找对应的应用的pid时就不太方便了,这时候可以修改tomcat,bin/setclasspath.sh文件

 #_RUNJAVA="$JRE_HOME"/bin/java
 cp "$JRE_HOME/bin/java" "$JRE_HOME/bin/appname"
 _RUNJAVA="$JRE_HOME/bin/appname"

将原有的_RUNJAVA="$JRE_HOME"/bin/java注释掉
添加下面两行即可,在查找该tomcat进程号时候可以通过ps -ef | grep appname进行查找。

上一篇:

下一篇: