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 ...
随机推荐
- Visual Studio蛋疼问题解决(2)
Astyle配置 1.下载并安装Astyle(AstyleExtension.vsix),重新启动VS: 2.工具->选项,从左侧列表找到AStyleFormatter,在右边编辑参数,参考设置 ...
- java servlet 3.0文件上传
在以前,处理文件上传是一个很痛苦的事情,大都借助于开源的上传组件,诸如commons fileupload等.现在好了,很方便,便捷到比那些组件都方便至极.以前的HTML端上传表单不用改变什么,还是一 ...
- Angular 定时器$timeout和$interval关于定时刷新页面和发送请求的用法
项目中有用到定时器定时刷新页面的数据,在网上查看了一些资料,整理了一下,备忘. $timeout 用法如下:$timeout(fn,[delay],[invokeApply]); fn:一个将被延迟执 ...
- bootstrap初用新得2
##具体实现 1. 宽度无限的背景和始终居中的主题内容: 首先是背景要用一个div1来做out-background,然后div1的兄弟元素div2来做container.对out-backgro ...
- BZOJ 1221 [HNOI2001] 软件开发 费用流_建模
题目描述: 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员每天提供 ...
- Centos7安装keepalived(自定义路径安装)-高级篇
0.Keepalived介绍 Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker.但 ...
- 深入理解Java中的锁
转载:https://www.jianshu.com/p/2eb5ad8da4dc Java中的锁 常见的锁有synchronized.volatile.偏向锁.轻量级锁.重量级锁 1.synchro ...
- USB OTG学习笔记
仅仅看了半天SPEC写的笔记,有些乱,等调试完毕再次整理,思路不是很成熟,推测成分较多,可能有不对的地方,欢迎拍砖交流指正. 1. 概要 OTG设备使用插头中的ID引脚来区分A/B Dev ...
- Problem 1
Problem 1 # Problem_1.py """ If we list all the natural numbers below 10 that are mul ...
- matlab经验总结(转)
Matlab使用的一点儿体会(For Beginner) 作者:Genial(山城棒棒儿军) 转自 不明 真正接触matlab一年左右,我很喜欢上了matlab的简单的语法,易于绘制图形,gui ...