如何在tomcat里为多个应用配置不同的访问端口

转自http://blog.csdn.net/chouto/article/details/5710142

打开tomcat安装目录,查看conf/server.xml

<?xml version="1.0" encoding="UTF-8"?>

<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <GlobalNamingResources>
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector port="8099" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
    <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
  
<Context path="/demo2" docBase="D:/java/projects/demo2/WebRoot" reloadable="true" />
      </Host>
    </Engine>
  </Service>
  </Server>

增加一个应用并设置访问端口为8098

<Service name="Catalina1">
    <Connector port="8098" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
    <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <Engine name="Catalina1" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
  <Context path="/demo1" docBase="D:/java/projects/demo1/WebRoot" reloadable="true" />
      </Host>
    </Engine>
  </Service>


启动tomcat可以按如下地址访问:

http://localhost:8099/demo2/index.jsp

http://localhost:8098/demo1/index.jsp

※注意红色字体是要改的地方,另外2个应用里都存在 appBase=“webapps”,这个是tomcat下默认的目录,此目录下的所有应用均可以用这2个端口(8099、8098)访问,如果不想被2个端口都可以访问,可以修改appBase,如:appBase="webapps2",但要在tomcat安装目录下新建一个webapps2的目录。



  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat配置两个应用端口可以用于实现多租户或者多应用程序的部署,具体步骤如下: 1. 打开 Tomcat 的 server.xml 配置文件,该文件位于 Tomcat 的 conf 目录下。 2. 找到 <Service> 标签,该标签包含多个 <Connector> 标签,每个 <Connector> 标签代表一个端口。例如: ```xml <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="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> ``` 以上配置中,<Connector> 标签中的 port 属性分别为 8080 和 8009,代表 Tomcat 的 HTTP 和 AJP 端口。 3. 复制一份 <Connector> 标签,并修改其中的 port 属性,以设置第二个端口。例如: ```xml <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="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> ``` 以上配置中,新增的 <Connector> 标签的 port 属性设置为 8081。 4. 在 Tomcat 的 webapps 目录中创建第二个应用程序的目录,并将应用程序复制到该目录中。 5. 重启 Tomcat 服务,以使上述配置生效: ```bash sudo systemctl restart tomcat ``` 至此,Tomcat 的两个应用程序都已经部署,并分别监听两个端口。例如,第一个应用程序可以通过 http://localhost:8080 访问,第二个应用程序可以通过 http://localhost:8081 访问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值