zi663227 发表于 2017-1-22 11:09:31

24 虚拟主机与Tomcat【Virtual Hosting and Tomcat】

Apache Tomcat 6.0

虚拟主机与Tomcat【Virtual Hosting and Tomcat】



<!--()-->目录【Table of Contents】





[*]背景【Assumptions】
[*]
server.xml
[*]Web应用目录【Webapps Directory】
[*]配置环境【Configuring Your Contexts】
[*]综述【General】
[*]context.xml 配置方法#1【context.xml - approach #1】
[*]context.xml 配置方法#2 【context.xml - approach #2】
[*]进阶内容【Further Information】









背景【Assumptions】



  作为全文的背景,假设你要将你开发的应用程序映射到名叫ren和stimpy的主机名上。还要假设,有一个正在运行的Tomcat服务,$CATALINA_HOME 是对于这个服务的安装路径的引用,例如:/usr/local/tomcat。
【For the sake of this how-to, assume you have a development host with two host names, ren and stimpy. Let's also assume one instance of Tomcat running, so $CATALINA_HOME refers to wherever it's installed, perhaps /usr/local/tomcat. 】
  另外,文中会使用unix系统的路径分隔符和命令;如果你使用的是windows系统,请自行修改。
  【Also, this how-to uses Unix-style path separators and commands; if you're on Windows modify accordingly. 】







server.xml



  作为最简单的方法,就是去编辑server.xml文件的Enging元素,像下面这样:
【At the simplest, edit the Engine portion of your server.xml file to look like this: 】



http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif

<Engine name="Catalina" defaultHost="ren">
<Host name="ren"    appBase="renapps"/>
<Host name="stimpy" appBase="stimpyapps"/>
</Engine>


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif



  注意,每个应用的appBase下的目录结构都可能不太一样。可以查看Engine和Host元素的属性的相关文档。
  【Note that the directory structures under the appBase for each host should not overlap each other.
  Consult the configuration documentation for other attributes of the Engine and Host elements. 】







<!--()-->Web应用目录【Webapps Directory】



  为每一个虚拟主机创建如下的目录结构:
【Create directories for each of the virtual hosts: 】



http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif

mkdir $CATALINA_HOME/renapps
mkdir $CATALINA_HOME/stimpyapps


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif










<!--()-->配置环境【Configuring Your Contexts】






综述【General】



  Contexts元素通常位于appBase目录下。例如,将ren虚拟主机映射到foobar.war这个文件上,使用$CATALINA_HOME/renapps/foobar.war。虚拟主机ren的默认或者ROOT环境是$CATALINA_HOME/renapps/ROOT.war (WAR)或者 $CATALINA_HOME/renapps/ROOT (directory).
【Contexts are normally located underneath the appBase directory. For example, to deploy the foobar context as a war file in the ren host, use $CATALINA_HOME/renapps/foobar.war. Note that the default or ROOT context for ren would be deployed as $CATALINA_HOME/renapps/ROOT.war (WAR) or $CATALINA_HOME/renapps/ROOT (directory). 】
  注意:一个主机环境下的docBase与appBase是不同的。
  【NOTE: The docBase for a context should never be the same as the appBase for a host. 】







<!--()-->context.xml配置方法1【context.xml - approach #1】



  在你的环境下,创建一个META-INF目录,将你的环境上下文定义写在这个目录下的context.xml文件中。例如$CATALINA_HOME/renapps/ROOT/META-INF/context.xml 这样使得你将应用打包成一个war文件时,部署是非常容易的。
【Within your Context, create a META-INF directory and then place your Context definition in it in a file named context.xml. i.e. $CATALINA_HOME/renapps/ROOT/META-INF/context.xml This makes deployment easier, particularly if you're distributing a WAR file. 】







<!--()-->context.xml配置方法1【context.xml - approach #2】



  在$CATALINA_HOME/conf/Catalina 下创建与你的虚拟主机一致的结构,例如:
【Create a structure under $CATALINA_HOME/conf/Catalina corresponding to your virtual hosts, e.g.: 】



http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif

mkdir $CATALINA_HOME/conf/Catalina/ren
mkdir $CATALINA_HOME/conf/Catalina/stimpy


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif



  注意上面Catalina目录后面的目录名称,这个名字与Enging元素的name属性一致。
  【Note that the ending directory name "Catalina" represents the name attribute of the Engine element as shown above. 】
  现在对于你的默认应用,添加如下:
  【Now, for your default webapps, add: 】



http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif

$CATALINA_HOME/conf/Catalina/ren/ROOT.xml
$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif



  如果你需要使用Tomcat manager管理所有主机的web应用,你需要再进行如下操作:
  【If you want to use the Tomcat manager webapp for each host, you'll also need to add it here: 】



http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif

cd $CATALINA_HOME/conf/Catalina
cp localhost/manager.xml ren/
cp localhost/manager.xml stimpy/


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif


http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif
http://icefox-wjx.iteye.com/admin/blogs/900683/images/void.gif










<!--()-->进阶内容【Further Information】



  请查阅Context元素的其他属性的配置文档
  【Consult the configuration documentation for other attributes of the Context element. 】









-------------------------------------------------------

终于在年前将Tomcat6新增的这几篇文档翻译完了,这些日子一直查看自己的博客,根本就没人看呀,呵呵,可见自己根本没有人气。要努力了。今天是大年二十九,上班的最后一天,明天放假准备过年,祝我新的一年取得理想的成绩。
页: [1]
查看完整版本: 24 虚拟主机与Tomcat【Virtual Hosting and Tomcat】