Tomcat部署多个项目在云服务器访问

这里讲在同一个 tomcat 上部署多个项目放在服务器,通过浏览器访问。
如果有 tomcat 架构不熟悉,可以浏览我的另一篇文章
https://blog.csdn.net/xiao_ma_csdn/article/details/79430363

进入正题

我们知道 Host 代表一个虚拟主机,每个虚拟主机和某个网络域名相匹配
每个虚拟主机下都可以部署(deploy)一个或者多个Web App,每个Web App对应于一个Context,有一个Context path

所以要部署多个项目,只需要配置多个 service 节点,因为一个service 可以有多个Connector来配置多个port端口,但是只有一个Engine,一个 Engine中可以配置多个Host,但是同一 ip地址 的Host只能有一个 。所以我们通过同一ip地址不同端口来部署多个项目就需要多个service节点。

配置 server.xml

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

  <GlobalNamingResources>

    <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="8080" 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.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

      </Host>
      <Host name="localhost2"  appBase="webapps/manyproject"
            unpackWARs="true" autoDeploy="true">     
      </Host>
    </Engine>
  </Service>

  <Service name="Catalina"><!-- 第二个service-->

    <Connector port="8090" protocol="HTTP/1.1"   <!-- 修改端口8090-->
               connectionTimeout="20000"
               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/manyproject"  
            unpackWARs="true" autoDeploy="true">     
      </Host>
    </Engine>
  </Service>
</Server>

webapps/manyproject 里面的项目需要自己粘贴过去,eclipse只会创建在webapps里。
这里写图片描述
在本地浏览器访问
这里写图片描述
这里写图片描述

确认项目可以后上传到云服务器,可以用 FileZilla可视化上传工具 。

在云服务器管理控制台设置安全组

这里写图片描述
80端口是http默认的端口,如果设置是80,就可以直接通过 ip+项目名 访问。

之后通过浏览器访问就可以了。

猜你喜欢

转载自blog.csdn.net/xiao_ma_CSDN/article/details/80025807