一个jetty部署多个项目配置之方法

标签: jetty 项目 方法 | 发表时间:2014-07-22 22:43 | 作者:songzhan
出处:http://www.iteye.com
原文地址:http://my.oschina.net/wangyongqing/blog/115647
 
Jetty用户经常想配置他们的web应用到不同的虚拟主机。
通常情况下,一个单一的IP地址的机器有不同的DNS解析名与它相关联的,部署在这个机器上的web应用必须能够通过这些关联的DNS解析名访问到。

Another possibility is to serve different web applications from different virtual hosts.

?
1
2
3
4
5
6
另一种可能是不同的虚拟主机为不同的web应用提供服务。你可以用不同的方法设置虚拟主机,包括:
1 )再context文件夹中放置一个context XML文件:setVirtualHosts. 这是一个完美的方法。
2 )用java调用内嵌式jetty服务
3 )再jetty.xml中明确列出要部署的项目列表或者类似的。
4 )再项目的WEB-INF下面加一个自己的jetty-web.xml (在你不适用jetty提供的配置文件的情况下).
对于不同的方式来配置虚拟主机,包括文件,提供详细的配置说明的链接的说明,请参阅如何配置

jetty

?
 
实例一:配置一个虚拟主机
 
<!-- lang: xml -->
< Configure class = "org.eclipse.jetty.webapp.WebAppContext" >
   < Set name = "contextPath" >/xxx</ Set >
   < Set name = "war" >< SystemProperty name = "jetty.home" />/webapps/xxx.war</ Set >
   < Set name = "virtualHosts" >
     < Array type = "java.lang.String" >
       < Item >333.444.555.666</ Item >
       < Item >127.0.0.1</ Item >
       < Item >www.blah.com</ Item >
       < Item >www.blah.net</ Item >
       < Item >www.blah.org</ Item >
     </ Array >
   </ Set >
</ Configure >
 
如果你配置了jetty监听到8080端口,你可以通过如下方式访问到xxx.war
http://333.444.555.666:8080/xxx
http://127.0.0.1:8080/xxx
http://www.blah.com:8080/xxx
http://www.blah.net:8080/xxx
http://www.blah.org:8080/xxx
 
实例二:配置不用的虚拟主机用不同的contextPath
<!-- lang: xml -->
< Configure class = "org.eclipse.jetty.webapp.WebAppContext" >
   < Set name = "contextPath" >/xxx</ Set >
   < Set name = "war" >< SystemProperty name = "jetty.home" />/webapps/xxx.war</ Set >
   < Set name = "virtualHosts" >
     < Array type = "java.lang.String" >
       < Item >333.444.555.666</ Item >
       < Item >127.0.0.1</ Item >
       < Item >www.blah.com</ Item >
       < Item >www.blah.net</ Item >
       < Item >www.blah.org</ Item >
     </ Array >
   </ Set >
</ Configure >
 
<!-- lang: xml -->
< Configure class = "org.eclipse.jetty.webapp.WebAppContext" >
   < Set name = "contextPath" >/zzz</ Set >
   < Set name = "war" >< SystemProperty name = "jetty.home" />/webapps/zzz.war</ Set >
   < Set name = "virtualHosts" >
     < Array type = "java.lang.String" >
       < Item >777.888.888.111</ Item >
       < Item >www.other.com</ Item >
       < Item >www.other.net</ Item >
       < Item >www.other.org</ Item >
     </ Array >
   </ Set >
</ Configure >
 
这里需要注意的是第二个没有配置127.0.0.1,因为两个都配置了就没法区分了
应用xxx.war 通过下面能访问到:
http://333.444.555.666:8080/xxx
http://127.0.0.1:8080/xxx
http://www.blah.com:8080/xxx
http://www.blah.net:8080/xxx
http://www.blah.org:8080/xxx
应用 zzz.war 通过下面法师能访问到:
http://777.888.888.111:8080/zzz
http://www.other.com:8080/zzz
http://www.other.net:8080/zzz
http://www.other.org:8080/zzz
 
实例三:配置不用的虚拟主机用相同的contextPath
<!-- lang: xml -->
< Configure class = "org.eclipse.jetty.webapp.WebAppContext" >
   < Set name = "war" >< SystemProperty name = "jetty.home" />/webapps/xxx.war</ Set >
   < Set name = "contextPath" >/</ Set >
   < Set name = "virtualHosts" >
     < Array type = "java.lang.String" >
       < Item >333.444.555.666</ Item >
       < Item >127.0.0.1</ Item >
       < Item >www.blah.com</ Item >
       < Item >www.blah.net</ Item >
       < Item >www.blah.org</ Item >
     </ Array >
   </ Set >
</ Configure >
 
<!-- lang: xml -->
< Configure class = "org.eclipse.jetty.webapp.WebAppContext" >
   < Set name = "war" >< SystemProperty name = "jetty.home" />/webapps/zzz.war</ Set >
   < Set name = "contextPath" >/</ Set >
   < Set name = "virtualHosts" >
     < Array type = "java.lang.String" >
       < Item >777.888.888.111</ Item >
       < Item >www.other.com</ Item >
       < Item >www.other.net</ Item >
       < Item >www.other.org</ Item >
     </ Array >
   </ Set >
</ Configure >
应用 xxx.war 通过如下方式访问:
http://333.444.555.666:8080/
http://127.0.0.1:8080/
http://www.blah.com:8080/
http://www.blah.net:8080/
http://www.blah.org:8080/
应用 zzz.war 通过如下方式访问:
http://777.888.888.111:8080/
http://www.other.com:8080/
http://www.other.net:8080/
http://www.other.org:8080/
原文请参考http://wiki.eclipse.org/Jetty/Howto/Configure_Virtual_Hosts


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [jetty 项目 方法] 推荐:

一个jetty部署多个项目配置之方法

- - 企业架构 - ITeye博客
原文地址:http://my.oschina.net/wangyongqing/blog/115647. Jetty用户经常想配置他们的web应用到不同的虚拟主机. 通常情况下,一个单一的IP地址的机器有不同的DNS解析名与它相关联的,部署在这个机器上的web应用必须能够通过这些关联的DNS解析名访问到.

Jetty main函数执行

- - ITeye博客
在每个项目中都要配置路径什么的,非常的麻烦. 可以用jetty,项目本身就是服务器. 他会找项目中的WebContent. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

jetty和tomcat比较(转)

- - 行业应用 - ITeye博客
jetty和tomcat比较. Tomcat 主要是作为 JSP/Servlet 最新规范的参考实现而设计,属于学院派,但是显得庞大而杂乱. Tomcat 的性能很差,一般是作为 Http Server(如 Apache)的插件来用. Jetty 主要是作为企业级产品的嵌入式组件来设计的,可以非常方便地嵌入到其它产品中.

jetty链接超时过期

- - 开源软件 - ITeye博客
Jetty误判长连接为超时连接的问题. 在上一篇中介绍了jetty的反映器模型,selector线程与业务子线程交互的点有:. 1、分发事件给子线程做,启动子线程;. 2、子线程发现阻塞或者连接关闭等时间时,注册内部changes,等待selector线程调度;. 3、检测超时连接,并且关闭连接. 在检测超时连接上面,jetty存在较多的问题,可能会误判.

Jetty 的工作原理以及与 Tomcat 的比较

- redhobor - IBM developerWorks 中国 : 文档库
Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎. 本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求. 你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat 和 Jetty 的优缺点.

号外号外,Jetty 9 正式版发布!!!

- - 开源中国社区最新新闻
版本标签: Jetty 9.0.0.v20130308. Jetty 9 支持 SPDY 和 WebSocket. Jetty 9.x 特性:. 移植到 Jetty 9.x 的要求:.

Jetty 9.3庆祝20周年生日快乐,并增加HTTP/2支持

- - CSDN博客综合推荐文章
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/06/Building-Distributed-Systems. 今年6月12日,Jetty项目发布了旗舰性开源嵌入式应用服务器的 9.3版,同时这一天也是该项目的20周年纪念日.

Web项目性能问题常见定位方法梳理

- - 互联网 - ITeye博客
第一类:请求无响应,浏览器始终处于等待状态. 定位方法:kill -3或者jstack先分析线程堆栈,找到当前block的线程. 常见于:外部接口调用无返回或者网络IO阻塞无响应;死锁;死循环;……. 定位方法(这一类问题普遍比较难定位):.     (1)寻找hs_err_pidxxx.log这样的JVM日志.

[原]联想ERP项目实施案例分析(9):工作方法总结

- - 阿朱=行业趋势+开发管理+架构
联想ERP项目实施案例分析(9):工作方法总结. 高层支持:集团总裁亲自点将“哪个平台没有按时上线,请区域总监主动将辞职报告放在我桌上”集团副总裁任项目总监,各区域总监任平台项目总监. 纳入组织体系:集团财务、运作、MED副总担任项目经理及各模块组长,区域商、财、物经理任平台项目经理或数据负责人,还有由集团副总裁们组成领导委员会、由部门总经理、副总经理组成项目推进小组,项目实施各层组织均有相应部门一把手、二把手负责,将各业务块各方面负责人均定义到项目组织体系中来,而且明确其领导职责,这对项目推动将产生极为良好效果.

Windows平台下针对C/C++项目的内存泄漏检测方法

- - C++博客-首页原创精华区
     由于语言在自动内存管理上的欠缺,C/C++在内存管理上从来都是需要程序员小心处理的一个方面,当项目代码上了一定规模,内存消耗和泄漏就会成为程序稳定运行的第一大敌. 如果不在项目之初就建立内存管理和泄漏检测机制,后面蛋疼的问题就会接踵而来. 这篇文章着重讨论内存泄漏检测,而内存管理与具体项目类型关系密切,后面有时间我会着重游戏项目来讨论.