这里讲在同一个 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+项目名 访问。
之后通过浏览器访问就可以了。