這裏講在同一個 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+項目名 訪問。
之後通過瀏覽器訪問就可以了。