tomcat詳解(二)——經常使用的部署方式

部署方式(一)

將要部署的項目拷貝到webapps目錄下,訪問地址爲:127.0.0.1:8080/項目文件夾名。web

部署方式(二)

修改server.xml的配置,添加一個server標籤apache

第一個項目訪問地址爲127.0.0.1:8080/authoritytomcat

第二個項目訪問地址爲127.0.0.1:/smartcityapp

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
    <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
    <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
    <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
    <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>

    <!-- 第一個 server -->
    <Service name="Catalina">
        <!-- 8080爲http請求處理端口,咱們在網頁上輸入的普通url地址包含的端口就是他 .這個端口叫http端口 -->
        <!-- 8443爲https請求的處理端口.這個端口叫https端口. -->
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443"/>
        <!-- 8011爲接收AJP協議的處理端口.這個端口叫ajp端口是定向包協議,做用是使用二進制格式來傳輸可讀性文本-->
        <!-- 該端口不能重複不然會報錯,可是不影響使用,項目仍然能夠繼續啓動 -->
        <Connector port="8011" 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">
                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                       prefix="localhost_access_log" suffix=".txt"
                       pattern="%h %l %u %t &quot;%r&quot; %s %b"/>

                <!-- 自定義項目路徑,path爲訪問的項目路徑,reloadable爲是否當項目文件發生變化時是否重載,doBase爲項目路徑能夠是絕對路徑,相對路徑相對於webapps目錄 -->
                <Context path="/authority" reloadable="true" docBase="C:/Users/rockjh/Desktop/project/authority"/>

            </Host>
        </Engine>

    </Service>

    <!-- 第二個service -->
    <Service name="Catalina">
        <Connector port="80" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443"/>
        <Connector port="8012" 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">
                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                       prefix="localhost_access_log" suffix=".txt"
                       pattern="%h %l %u %t &quot;%r&quot; %s %b"/>


                <Context path="/smartcity" reloadable="true" docBase="C:/Users/rockjh/Desktop/project/smartcity"/>

            </Host>
        </Engine>


    </Service>

</Server>

部署方式(三)

進入tomcat管理界面部署項目webapp

由於咱們在進入管理界面以前須要登陸,對用戶進行受權,因此須要在conf/tomcat_users.xml中的<tomcat-users>標籤中添加ui

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

啓動tomcat,進入http://localhost:8080url

點擊右上方的manager app,其中WAR file to deploy最爲簡單code

點擊瀏覽選擇.war文件,而後點擊Deploy便可server

注意xml

在這種部署方式下若是項目的web.xml中存在

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</context-param>

部署在同一個容器的web項目,值不能相同,不然會啓動失敗!

相關文章
相關標籤/搜索