tomcat详解(二)——常用的部署方式

部署方式(一)

将要部署的项目拷贝到webapps目录下,访问地址为:127.0.0.1:8080/项目文件夹名。

部署方式(二)

修改server.xml的配置,添加一个server标签

第一个项目访问地址为127.0.0.1:8080/authority

第二个项目访问地址为127.0.0.1:/smartcity

<?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管理界面部署项目

因为我们在进入管理界面之前需要登录,对用户进行授权,所以需要在conf/tomcat_users.xml中的<tomcat-users>标签中添加

<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:8080

点击右上方的manager app,其中WAR file to deploy最为简单

点击浏览选择.war文件,然后点击Deploy即可

注意

在这种部署方式下如果项目的web.xml中存在

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

部署在同一个容器的web项目,值不能相同,否则会启动失败!

转载于:https://my.oschina.net/u/2609727/blog/761779

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值