2019独角兽企业重金招聘Python工程师标准>>>

一般我使用tomcat部署war包项目的时候都是把war包扔进tomcat安装文件夹下面的webapps文件夹下面让它自动解压后使用

localhost:8080/war包ming/接口名

这种格式访问,但是最近需要在一个已经部署了上线项目的tomcat上再次部署一个新的项目,让tomcat通过不同的域名访问不同的项目。

经过几天的百度,终于成功了,在此做一下记录.

首先找到tomcat安装目录下的conf文件夹下的server.xml文件,用打开该文件,在<Service name="Catalina">标签下添加新的<Host>标签

<Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><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" /></Host>
<Host name="www.second.com"  appBase="webapps"unpackWARs="true" autoDeploy="true">       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="second_access_log." suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /><Context path="" docBase="/scond"/></Host>

server.xml中一个<Host>标签代表一个虚拟主机(大概就是指一个项目)

name:用于设置虚拟主机的域名,例如<Host  name="www.second.com" ...> 则使用www.second.com网址访问的就是该<Host>对应的项目;

默认值是localhost,如果使用localhost做name的话使用ip和localhost都是访问的这个<Host>指向的项目。

appBase: 用于设置 Web 应用程序组的路径。就是存放war包项目的文件夹名,可以是相对路径,也可以是绝对路径;

相对路径是相对于 Tomcat 安装目录的相对路径(就是和webapps文件夹同级,即相对于${CATALINA_BASE});

默认值是webapps;

unpackWARs: 值为true时,appBase对应文件夹下的war包会被自动解压,解压为一个同名的文件夹,实际上tomcat就是访问这个文件夹里的class文件或静态资源。

autoDeploy: 值为true时,会定期地检查appBase和xmlBase中的文件变化,会使其中的应用重新加载

<Valve />是一个组件,可以工作于Engine和Host/Context之间、Host和Context之间以及Context和Web应用程序的某资源之间

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="second_access_log." suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" />

上面这个在Host下的valve是配置该站点的访问日志的,其中

className="org.apache.catalina.valves.AccessLogValve"是配置访问日志的固定写法(className指向java实现的类名,只有org.apache.catalina.valves.RemoteHostValve或org.apache.catalina.valves.RemoteAddrValve);

directory是日志文件放置的目录,也是相对路径绝对路径均可(跟上面的<Host appBase />一样的规矩);

prefix: 日志文件的名称前缀;

suffix: 日志文件后缀名;prefix和suffix合起来就是日志文件名啦,不过只有一个.就是啦.

pattern: 日志的记录格式,上面的格式就是 远端主机名--[日志和时间] "请求方法/URI" 响应http的状态码 发送信息的字节数

<Context />配置上下文,也就是对应主机下的具体子项目

path: 表示浏览器访问的地址路径,也就是说如果你要访问一个项目就应该是用<Host />的name+"/"+这个path (http://host.name:端口/test);

docBase: 这一个项目于的路径(也是相对和绝对都可以啦),这里的这个路径指的是war包解压后的项目路径

当path=""的时候这个context项目的域名路径就是 http://host.name:端口/ ,即该域名的默认项目

当docBase为空时就是访问这个 Host的appBase文件夹下的ROOT项目(没有的话就是404,这个是我根据默认项目没有<Context />这个标签猜的)

关于日志记录组件<Valve>的详细解释

转载于:https://my.oschina.net/imsorry/blog/2998968

在Tomcat中配置不同的域名对应不同的war包项目相关推荐

  1. Tomcat中配置MySQL数据库连接池

    Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...

  2. tomcat中配置jndi数据源以便spring获取

    [0]README 0)intro to jndi, plase visit intro to jndi: 1)本文译自 Configuring Spring MVC JdbcTemplate wit ...

  3. tomcat怎样配置多个域名

    今天小编来为大家讲解一下,tomcat服务器怎样配置多个域名,通俗点讲就是让服务器空间,同时运行多个网站.有木有很吊的感觉!! 废话不多说小编直接上图吧.下图是以两个域名为例 tomcat怎样配置多个 ...

  4. 浅谈在centos中使用docker部署war包项目(jsp篇)

    ​ 在centos中使用docker部署war包项目(jsp篇) 一.环境的准备 二.Docker优点 1.简化程序 2.避免选择恐惧症 3.节省开支 三.Docker结构 1.Client( Doc ...

  5. Tomcat部署war包项目请求404

    问题描述 Linux上用Tomcat部署war包项目请求404.前端项目配置的后台地址本身是只有ip加端口的,但是会404,我就在端口后面加上项目文件夹的名称,例如在webapps下是test,前台请 ...

  6. tomcat中配置二级域名

    1.二级域名可以在域名提供商网站上进行解析设置 例如将二级域名设置为image解析方式设置方法如下: 2.设置完域名解析后在tomcat配置文件tomcat\conf\server.xml中配置 &l ...

  7. java tomcat 404配置_在Tomcat中配置404自定义错误页面详解

    一直使用tomcat,今天想到一个问题,自定义404错误页面, 为了获得很好的用户感受,是不应当向用户暴露404这样的页面的, 问题的出发点是我在Struts2中定义错误页面, 在Struts2中是这 ...

  8. Tomcat中配置多个工程使用不同端口访问问题

    因为没有深入的去学习Tomcat,所以下面的方法只是简单的解决了这个问题. 第一种方式是: Eclispse使用的是安装版的Tomcaat,项目直接发布到Tomcat/webapps目录下. 直接去T ...

  9. nginx中配置不输入端口(指定地址)访问项目的方法

    大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂. 需求 访问项目时,地址是这样的:http://152.189.xxx.xxx:7890,绑定了域名之后,需要这样访问:http://XXXX.co ...

最新文章

  1. Linux实用快捷键
  2. cocos2d-x初探学习笔记(2)--重要概念及Test例子结构
  3. 三个等于号===和两个等于号==的区别
  4. Java获取数据类型
  5. 学会python的基础操作题_Python基本操作题
  6. Apple 隐私政策
  7. 《专家系统破解篇 六、IL代码破解--配套乱说》之 FeatherskyExpertSystem
  8. python程序设计基础与应用 机械工业出版社_Python程序设计——从编程基础到专业应用...
  9. unity3d 怎么生成网页版_unity3D u3D网页游戏制作游戏优势
  10. 个人博客系统测试用例
  11. 样本标准差分母为什么是n-1
  12. 经典单片机c语言教程 pdf下载,51单片机经典教程.pdf
  13. 怎样删除微信朋友圈的内容?超简单的方法免费分享!
  14. php动画效果,动画效果总结
  15. php/nginx重启命令
  16. Retrofit请求 多条目加载
  17. 领导驾驶舱如何助力领导做决策?
  18. php 怎么打印条形码,php – 直接从(zebra)打印机上的浏览器打印贴纸/条形码标签...
  19. 鼠标移动div效果:鼠标拖曳效果
  20. QRCode使用(生成二维码)

热门文章

  1. Jboss账号密码、jboss网站跟目录、Jboss弱口令
  2. 天鸟技术中台-建设过程-日常经验3:权限控制的进一步思考和细化
  3. Adjtimex介绍
  4. html里 调整字间距
  5. 热点连接的设备android,Android获取实时连接热点的设备IP
  6. matlab 希腊字母对照表
  7. c++随机数问题研究
  8. 磁带与磁盘备份系统的优劣点比较
  9. 软件设计是怎样炼成的(7)——细节决定成败(详细设计)
  10. div+css制作菱形