博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个jetty部署多个项目配置之方法
阅读量:5125 次
发布时间:2019-06-13

本文共 3650 字,大约阅读时间需要 12 分钟。

 
原文地址: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提供的配置文件的情况下).
对于不同的方式来配置虚拟主机,包括文件,提供详细的配置说明的链接的说明,请参阅如何配置

 
实例一:配置一个虚拟主机
 
<!-- 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

转载于:https://www.cnblogs.com/dragonflyer/p/6685468.html

你可能感兴趣的文章
sqlite3使用简介(内含解决sqlite内存的方法)
查看>>
james-2.3.2中的配置
查看>>
浅谈高斯消元的实现和简单应用
查看>>
2017书单3
查看>>
C#中的interface
查看>>
ASP.NET MVC的路由
查看>>
Flex AIR 文件对象操作
查看>>
Oracle 数据库中对记录进行分页处理
查看>>
后台开发常用mysql语句_v1.0
查看>>
linux curl命令验证服务器断点续传支持
查看>>
JS数组遍历
查看>>
监听APP升级广播处理
查看>>
Linux之Ubuntu安装搜狗输入法
查看>>
团队协作小结
查看>>
[ACM_水题] Yet Another Story of Rock-paper-scissors [超水 剪刀石头布]
查看>>
1033 旧键盘打字
查看>>
计算机网络各层协议
查看>>
SVN代码回滚命令之---"svn up ./ -r 版本号"---OK
查看>>
BZOJ 1878 HH的项链 | 主席树
查看>>
kubernetes1.9管中窥豹-CRD概念、使用场景及实例
查看>>