Tomcat 初探(三)多项目部署
起因
昨天房东找我说最近物价飞涨,要涨我房租,混不下去了,得要求老板涨工资。一大清早就去找老板,老板看了看我,让我发布先两个网站:一个前台网站 frontend,给用户用;一个后台管理网站 backend,给管理员用,两个网站要在同一台服务器上部署两个网站,但服务器上只有一个 tomcat,怎么办?
相同端口的多项目部署
还好我昨天了解了 server.xml 中各个节点的作用,正好派上用场,可以通过设置不同的 path 让其匹配到相应的 context,嗯,就这么搞,开个8001端口,修改 context 的 path,于是出现了下面的配置:
<Context path="/user" docBase="/frontend" />
<Context path="/manager" docBase="/backend" />
通过地址:http://localhost:8001/user 和 http://localhost:8001/manager 进入到对应的项目中去(同端口同域名)就可以正常访问了。屁颠屁颠的去找老板要工资,老板一看,重做,为啥,前台域名要 www.frontend.com,后台域名要 www.backend.com 才行,这也难不倒我,调整一下 Host 节点的配置就可以:
<Host name="www.backend.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/backend" />
</Host>
<Host name="www.frontend.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/frontend" />
</Host>
然后分别通过地址:http://www.frontend.com:8001 和 http://www.backend.com:8001(同端口不同域名)来访问用户站点和管理员站点。 又屁颠屁颠的去找老板要求涨工资去了,老板不在,助理妹子说老板开会去了,不知道啥时候回来,妹子好像还没有男朋友,好可爱,刚刚对我笑了,是不是对我有意思,今晚一定要约她吃饭,嘿嘿。
不同端口的多项目部署
老板终于回来了,还要改(¥#@%……),理由是一个端口不够壕,要两个:一个8001给前台用,一个8002给后台用。为了工资,忍了,配置再改改。回顾之前看的 server.xml 中的内容,端口号是由 Connector 节点负责的,是不是搞两个 Connector 就可以,说干就干,修改配置如下(监听多端口):
<Connector port="8001" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8002" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
然后分别通过地址:http://www.frontend.com:8001 和 http://www.backend.com:8002 来访问用户站点和管理员站点,可行,但 http://www.frontend.com:8002 和 http://www.backend.com:8001 居然也是正常的,还好我自测了一下,不然肯定被老板找理由拖欠工资,再次调整:
<!--www.frontend.com 的配置-->
<Service name="Catalina">
<Connector port="8001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8013" />
<Connector port="8109" protocol="AJP/1.3" redirectPort="8013" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.frontend.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/frontend" />
</Host>
</Engine>
</Service>
<!--www.backend.com 的配置-->
<Service name="Catalina">
<Connector port="8002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8014" />
<Connector port="8110" protocol="AJP/1.3" redirectPort="8014" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.backend.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/backend" />
</Host>
</Engine>
</Service>
通过地址:http://www.frontend.com:8001 和 http://www.backend.com:8002 来访问用户站点和管理员站点,可行,但 http://www.frontend.com:8002 和 http://www.backend.com:8001 不能正常访问,搞定,赶紧去找老板,顺便约助理妹子晚上一起吃麻辣烫(升职加薪,赢取白富美,走向人生巅峰,嘿嘿),忐忑的敲开了老板的门。老板看见我道:“正好要找你,为了方便管理,还是弄两台服务器吧,你今天弄完,涨工资的事儿,明天再说”。看了看表,还有几分钟就下班了,助理妹子瞥了我一眼(眼神很怜悯有木有),我张了张嘴,吃饭的事儿一直没说出口,算了,改天再约吧,今晚要加班了,不甘心(我就是一码农啊)……
Tomcat 初探(三)多项目部署的更多相关文章
- Linux下tomcat的安装与项目部署
最近在linux下安装了jdk,为了圆我以前的心愿,把tomcat也安装了,顺便部署个项目,也算是小又成就感 废话不说了,直接上过程 一.下载安装对应的jdk,并配置Java环境. 有关jdk的安装请 ...
- 配置JDK、tomcat及Java Web项目部署
一.JDK的安装 (1)下载安装JDK: 这个就不用说了,直接官网下载jdk安装即可.http://www.oracle.com/technetwork/java/javaee/downloads/i ...
- 详细的图文教程来实现 eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上
很多初学,尤其自学JavaWeb的朋友首次在eclipse下配置tomcat时,总会有种难下手的感觉,在此,通过图文解说的方法,最直观的向大家演示一遍该配置过程. 第一部分:eclipse环境下如何配 ...
- tomcat目录结构以及项目部署
摘要:tomcat的目录结构 tomcat是一个轻量级的免费开源的web服务器,使用非常方便,也是最普遍的一款优秀服务器. 一.tomcat目录结构 1.官方下载 http://tomcat.apa ...
- Linux(三)—— 项目部署环境搭建
目录 项目部署环境搭建 一.linux上网 二.rpm包管理 1.光盘挂载 2.安装卸载rpm包 3.查询是否安装 4.查看软件包 5.互相依赖关系的软件包 三.yum包管理 1.使用aliyun的y ...
- 基于python的种子搜索网站(三)项目部署
项目部署过程 系统要求:ubuntu 16.04(或以上) 环境搭建和配置,必须严格按照以下步骤来安装部署!如有问题可以咨询(weixin:java2048) 安装部分 安装nginx sudo ap ...
- Tomcat三种项目部署方式
第一种:直接将项目放在webapps目录下 材料:项目文件名hello,文件hello.html如图: 访问地址: 注释:hello 项目文件名 hello.html 访问的文件名字 第二种:修改c ...
- Eclipse环境下配置Tomcat,并且把项目部署到Tomcat服务器上
一 配置Tomcat 1.打开Eclipse,单击"Window"菜单,选择下方的"Preferences". 2.单击"Server"选项 ...
- Eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上
打开Eclipse,单击“Window”菜单,选择下方的“Preferences”. 单击“Server”选项,选择下方的“Runtime Environments”. 点击“Add”添加Tomca ...
- Linux入门——安装jdk、tomcat、MySQL以及项目部署
Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户.多任务. 支持多线程和多CPU的操作系统.伴随着互联网的发展, Linu ...
随机推荐
- 很全很全的JavaScript的模块讲解
介绍 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元.所谓模块化主要是解决代码分割.作用域隔离.模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方 ...
- (转)Bootstrap 之 Metronic 模板的学习之路 - (7)GULP 前端自动化工具
https://segmentfault.com/a/1190000006738327 初步了解 Metronic 的结构和应用后,我们就可以在项目中应用起来了.考虑到实际项目应用时,会有很多文件需要 ...
- ubuntu区域语言(locale)设置(切换为中文)
第一步:编辑文件 代码:sudo gedit /var/lib/locales/supported.d/local (这个文件是所有已经激活的区域语言的列表) 写入相关内容,比如写入如下内容: zh ...
- 任务调度开源框架Quartz概述
任务调度开源框架Quartz 几乎每个项目中都用到了自动任务处理功能.所以在任务调度的功能很常用,但是一个好的任务调度程序是一个颇具挑战性的工作.最近用到Quartz这个框架,感觉很好,所以进行学习. ...
- 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
原文地址:http://www.cnblogs.com/baiboy/p/orc1.html 阅读目录 目录 集群概念介绍 什么是集群 为什么搭建数据库集群 数据库集群的分类 可扩展的分布式数据库架构 ...
- jquery.lazyload滚动不起作用
昨天同事在开发图片懒加载功能时用到了lazyload,使用相当标准,然而结果却不如人意,在滚动时未能起作用.引用https://cdn.bootcss.com/jquery_lazyload/1.9. ...
- Yii2.0 RESTful API 认证教程
认证介绍 和Web应用不同,RESTful APIs 通常是无状态的, 也就意味着不应使用 sessions 或 cookies, 因此每个请求应附带某种授权凭证,因为用户授权状态可能没通过 sess ...
- web前端对文件的引用规则
web前端一般常用文件 .html .css .js.但是当用css文件和html引入资源(比如图片)时,路径可能不相同.下面总结了几条. 使用相对路径引入规则: html或者js引入图片,按照htm ...
- Linux 字符设备驱动简单总结(转)
http://my.oschina.net/u/1169027/blog/191538
- VS2015使用C++编写DLL,并在C#环境中调用【转】
说明:本文是本人在学习封装DLL时看到的,觉得说得很清楚,为了防止忘记,特意复制下来学习用,原文链接:https://blog.csdn.net/songyi160/article/details/5 ...