<host appBase=”d:/aaa”> <Context docBase=”d:/aaa/bbb”> </Context> </host> 我们先看appBase,这个目录表示: 1 这个目录下面的子目录将自动被部署为应用 2 这个目录下面的.war文件将被自动解压缩并部署为应用 而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。 Host>元素中的 appBase属性指定了一个路径,该路径将作为嵌套在它里面的<Context> 元素的docBase属性中设置的相对路径的基准路径。” 也就是说是docBase的基路径,如果你的项目路径在:“F://a/site1”,而你在 appBase里写:“F://a/”,在docBase里写:“site1”,这样是可以的 。 如果你appBase=“”,也就是说空着不写,在docBase里写: “F://a/site1”,也是可以的,反过来,如果是在appBase里写: “F://a/site1”,也是可以的。
先看server.xml文件host配置 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy ="true"> appBase:这个目录下面的子目录将自动被部署为应用,且war文件将被自动解压缩并部署为应用,默认为tomcat下webapps目录,如果不想访问默认ROOT目录,修改这里,同理如果想访问配置目录下应用为默认应用 ="D:\WebContent" sessionCookiePath="/" sessionCookieName="JSESSIONID" /> docBase只是指向了你某个应用的目录,这个可以和appBase
精美礼品等你拿!
:PermSize=64M -XX:MaxPermSize=128M -XX:ReservedCodeCacheSize=24M 主机头配置 默认配置 <Host name="localhost" appBase suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host> 配置1 <Host name="www.aaa.com" appBase autoDeploy="true"> <Context path="" docBase="aaa" debug="0"/> </Host> 配置2 <Host name="www.bbb.com" appBase 与docBase没有什么必然的关系 如果docBase用相对路径,则是相对appBase来看的 别名只能为域名,不能为www.aaa.com/aa这样的 个人建议:如果一个tomcat带多个项目的话 目录中只有一个项目 推荐设置 应该把如上项目分别再放到a和b文件夹中 <Host name="www.aaa.com" appBase="data/webapps/a" unpackWARs
TOMCAT的配置文件Server.XML里有一句:指定应用目录,其他参数先不说,聊聊appBase。 1、appBase=”webapps“,这是默认值,相对路径,代表:d:\tomcat\webapps 这样的路径,谓之根目录;根目录下的 ROOT 目录,代表默认的主目录。 访问: http://localhost:8080 默认找 d:\tomcat\webapps\ROOT 下的文件(前提是没有docBase) 2、appBase=“d:\tomcat\webapps” 4、添加路径指向docBase后,appBase 作用变化: docBase=“test”, 访问的是 d:\tomcat\webapps\test, appBase为根目录; docBase=” \test”, 访问的是 d:\tomcat\webapps\test,appBase为根目录; docBase=“d:\test”, 访问的是 d:\test,appBase无效; 上述test目录必须存在
appBase =new AppBase(); //设备id appBase.setMid(s_mid +""); s_mid++; / / 用户id appBase.setUid(s_uid +""); s_uid++; // 程序版本号 5,6等 appBase.setVc ("es"); break; case (1): appBase.setL("en"); break; case (2): appBase.setL("pt case 2: appBase.setBa("HTC"); appBase.setMd("HTC-" +rand.nextInt(20)); break; ; case 1: appBase.setHw("640*1136"); break; case 2: appBase.setHw("750*1134")
刚刚阿铭访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。 appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录 下面我们通过部署一个java的应用来体会appBase和docBase目录的作用 下载zrlog wget 有时会出现404问题,就有可能是appbase或者docbase定义错误 总结 docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase 就以该目录为主了,其中appBase和docBase可以一样。 是支持自动解压war包的,将war文件放到appbase里面,appbase默认是在/usr/local/tomcat/webapps/ [root@hf-01 src]# ls /usr/local/
RealmclassName="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/> <Hostname="localhost"appBase 第二就是在中添加<host>(一个host代表一个域名或访问地址) <Engine name="Catalina"defaultHost="localhost"> <Hostname="localhost"appBase false"xmlNamespaceAware="false" /> </Engine> 修改为 <Engine name="Catalina"defaultHost=www.abc.com> <Hostname="www.coe.com"appBase Contextpath=""docbase="D:\Tomcat6.0\webapps\ROOT"crosscontext="true"/> </Host> <Hostname="www.abc.com"appBase
配置Tomcat的虚拟主机 vim /usr/local/tomcat/conf/server.xml 其中和之间的配置为虚拟主机配置部分,name定义域名, appBase定义应用的目录,Java 的应用通常是一个war的压缩包,你只需要将war的压缩包放到appBase目录下面即可。 刚刚访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。 unpackWARs是是否自动解压war包。 docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。 appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录 下面我们通过部署一个java的应用来体会appBase和docBase目录的作用 下载zrlog:
war的压缩包,你只需要将war的压缩包放到appBase目录下面即可。 刚刚阿铭访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。 docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。 appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录 下面我们通过部署一个java的应用来体会appBase和docBase目录的作用 docbase 和appbase 下载zrlog : wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war 测试 appbase 自动解压 appbase
脚本启动 war包被自动解压出来 然后部署成功 二 修改Server.xml文件 修改conf目录下的server.xml 在Host标签下添加标签 <Host name="localhost" appBase * in our "application root" directory. */ protected void deployApps() { File appBase File configBase = host.getConfigBaseFile(); String[] filteredAppPaths = filterAppPaths(appBase.list deployDescriptors(configBase, configBase.list()); // Deploy WARs deployWARs(appBase , filteredAppPaths); // Deploy expanded folders deployDirectories(appBase, filteredAppPaths
appBase则定义应用的目录也就是web工程所在的目录,Java的web应用通常是一个war的压缩包,你只需要将war的压缩包放到appBase目录下面即可。 以上配置中appBase定义为空,如果不定义appBase的路径,就需要使用<Context>标签定义一个docBase,docBase定义的目录下需要存放着网站的文件,也就是web应用。 所以就是二选一,可以使用appBase定义内部的路径,也可以使用docBase定义的外部路径。 ? 下面我们来搭建一个个人博客系统,来体会appBase和docBase目录的作用,这个系统使用的是zrlog: 1. appBase默认定义的路径是支持自动解压war包的,所以把这个war包拷贝到appBase默认定义的路径下即可: cp zrlog-1.7.1-baaecb9-release.war /usr/local
Tomcat的虚拟主机(上) [root@adailinux ~]# vim /usr/local/tomcat/conf/server.xml …… <Host name="www.123.cn" appBase ="" #appbase是定义Tomcat的应用(war文件)存放位置 #如果未使用该参数定义其应用,可以使用docbase来指定应用存放目录 #当这两个参数同时存在时,需要将其中一个写为空 支持自动解压war包,所以将zrlog包放到appbase的根目录下。 配置如下: [root@adailinux ~]# vim /usr/local/tomcat/conf/server.xml …… <Host name="www.zrlog.cn" appBase 配置访问日志 具体方法是在对应虚拟主机的<Host></Host>里面加入下面的配置(以域名www.zrlog.cn为例): <Host name="www.zrlog.cn" appBase=
=”true” 是否自动解压;(也是就是说,当我们往站点目录里面直接上传一个war的包,它会自动解压) Java的应用通常是一个jar的压缩包,你只需要将jar的压缩包放到appBase目录下面即可。 刚刚访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。 2.2 如何配置一个新的虚拟主机? 有时候配置完毕,再次访问站点会出现404,那么几乎都是这个地方没有定义对,要么就是appBASE也上传了站点文件。 (如果不知道如何解压war包,我们可以先把站点的包放到appBASE下,然后等到自动解压完毕,我们再次move站点的包到自定义的位置。) 铭哥专业解释: docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。
3、自定义默认网站目录 [root@tomcat ~]# vim /application/tomcat/conf/server.xml <Host name="localhost" appBase =".*"# appBase="/data/www/www"#' /application/tomcat8_1/conf/server.xml [root@tomcat ~]# sed -i '22s#8005 #8012#;69s#8080#8082#;123s#appBase=".*"# appBase="/data/www/www"#' /application/tomcat8_2/conf/server.xml ="/application/tomcat/webapps/memtest" --- > <Host name="localhost" appBase="/data/www/www" [ ="/application/tomcat/webapps/memtest" --- > <Host name="localhost" appBase="/data/www/www"
1、先去tomcat/conf/server.xml里 有一个HOST标签,有个参数appBase,表示你的应用应该部署在什么位置。 如果appBase=XXX,那么就在XXX/ROOT/路径下解压war包 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy ="true"> 2、运行tomcat/bin/startup.bat 如果要通过http://ip:port/appName的方式访问 1、在前面说到appBase的基础上,新建appBase/appName /路径,将war包解压到appBase/appName/下 2、运行tomcat/bin/startup.bat 这里记一下虚拟路径的操作 HOST标签下新增如下代码 docBase是具体的文件目录
项目数据基于 "聚合数据"在线API,需申请对应的API,申请成功后将key值替换到appbase下BaseApi中的KEY变量中 模块说明 app 入口模块 appbase 基础模块:基类 Activity、网络请求、工具类、配置文件等 module_city 选择城市模块,所有业务模块依赖,实际开发中也可置于appbase模块中 module_risk_level 风险等级模块
/conf/server.xml Connector port="8080" 改连接端口 <Server> <Service> <Engine> <Host name="localhost" appBase ="webapps" unpackWARs="true" autoDeploy="true"> image.png tomcat <Host name="www.123.cn" appBase="/
我们须要配置自己的记住就须要在Engine节点中加入�Host节点,默认的有一个host例如以下: <Host name="localhost" appBase="webapps" unpackWARs ="true" autoDeploy="true"> 这个里面的name表示的是訪问本地的localhost地址,appBase表示项目指定的父位置,当前的webapps代表:TOMCAT_HOME/ 以下是我自己配置的一个虚拟主机: <Host name="www.abc.net" appBase="/var/JavaServer/test" unpackWARs="true" autoDeploy appBase须要你指定的项目父路径,在当前的路径下能够存放多个项目 ,我们能够把项目打包或者放文件夹放在/var/JavaServer/test这个文件夹下 unpackWARs=”true” 表示当发如今 以下说说在Host节点下的Context节点,这个就是部署一个项目,可是这个项目不是在appBase文件夹下,他的路径在/var/www/html/hello这个文件夹下,path表示对外訪问的名称,
if (deployed.contains(files[i])) continue; File dir = new File(appBase appBase.isAbsolute()) { appBase = new File(System.getProperty(“catalina.base”), appBase.exists() || ! appBase.isDirectory()) { throw new IOException (sm.getString(“hostConfig.appBase ”, appBase.getAbsolutePath())); } File docBase = new File
扫码关注腾讯云开发者
领取腾讯云代金券