`
icejadelove
  • 浏览: 138693 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

虚拟主机用户独享tomcat的配置详解

阅读更多

本文总结一下tomcat (v5.x)的虚拟主机配置方法,包括对CATALINA_BASE的具体解释,以及如何和apache连接。这个配置的主要目的是,在一台主机上,为每个虚拟主机建立一个独立的tomcat jvm,让用户自己管理;
环境:
apache 2.x + jk 1.2.x + tomcat 采用jk1.2.x而非jk2的原因是,jk2已经放弃维护,并且其中的一些重要功能已经逐步移植到了jk1。参见http://jakarta.apache.org/tomcat/connectors-doc/
1,apache中的虚拟主机配置。
假设,我们有这样两个虚拟主机:
host1.com 根目录 d:/www/host1/ htdoc文档根目录d:/www/host1/www
host2.com 根目录 d:/www/host2/ htdoc文档根目录d:/www/host2/www
以上的根目录,指的是我们为每个虚拟主机准备的根目录,其中www目录下面放webapp,另有一个tomcat-run目录作为CATALINA_BASE(后面详述).
在httpd.conf里面有这样的配置(我们测试apache跑在8082端口)
<virtualhost><br> DocumentRoot d:/www/host1/www <br> ServerName host1.com <br></virtualhost>
<virtualhost><br> DocumentRoot d:/www/host2/www <br> ServerName host2.com <br></virtualhost>
此时,在www目录下,假若有html文件,应该就已经可以根据不同的虚拟主机访问不同的html文件了.
2, tomcat的multi instance
我们都知道,默认安装的tomcat,CATALINA_HOME就是tomcat的安装目录,CATALINA_BASE也指向同一个目录。其实,一份tomcat是支持多个不同的CATALINA_BASE目录的。
可以启动多份instance,每个instance有一个自己的CATALINA_BASE。
CATALINA_BASE目录的结构如下,
+ conf
+ logs
+ temp
+ work
+ shared
start.bat
为了避免冲突,不同的CATALINA_BASE中,在conf/server.xml中,需要修改<server>的port和<connector protocol="AJP/1.3">的port,关闭http的connector。每个instance必须打开两个port,而且不能冲突。需要有个小文件来记录每个instance分配的port。 <br>在系统中设定CATALINA_HOME,然后每个instance这样启动: <br>set CATALINA_BASE=. <br>call %CATALINA_HOME%\bin\startup.bat <br>也就是说,服务器上的每个人可以自己独立调度自己的webapp,在一个独立的jvm中运行,重起也不会影响别人. <br>3, jk connector 配置 <br>jk是tomcat和apache之间的连接器,apache和tomcat通过jk来进行通讯,jk支持多个不同的instance转发。 <br>jk的调度是根据workers.properties来的。在自己的engine 中配置jvmRoute值,和workers.properties对应; <br>在httpd.conf中load module: <br>LoadModule jk_module modules/mod_jk-1.2.10-apache-2.0.53.so (这个module是自己用源代码make出来的) <br>JkWorkersFile conf/workers.properties <br>JkLogFile logs/mod_jk.log <br>JkLogLevel info <br>JkRequestLogFormat "%w %V %T %U %q" <br>workers.properties的定义为: <br>worker.list=host2,host1 <br>worker.host1.port=8009 <br>worker.host1.host=host1.com <br>worker.host1.type=ajp13 <br>worker.host1.lbfactor=1 <br>worker.host1.recycle_timeout 120 <br>worker.host2.port=8010 <br>worker.host2.host=host2.com <br>worker.host2.type=ajp13 <br>worker.host2.lbfactor=1 <br>worker.host2.recycle_timeout 120 <br>然后,在每个virtualhost里面: <br><virtualhost><br> ServerName host1.com <br> .... <br> JkMountFile d:/www/host1/tomcat-run/jk-map.properties <br></virtualhost><br>这样每个tomcat instance需要拦截哪些文件也可以由自己来控制了。在jk-map.properties里面有如下内容 <br>/*.jsp=host1 <br>/*.action=host1 <br>在行前面加'-'表示jkUnmount,这样,假若有 <br>/*=host1 <br>-/*.html=host1 <br>就表示,除html外,apache接收到对所有其他的文件的访问都转发到tomcat的host1 instance去. <br>4,tomcat的virtual host,由<host>和<engine>提供 <br>具体的配置,请参见可以下载的附件例子. <br><a href="http://www.redsaga.com/articles/tomcat-apache-virtualhost-sample.zip">http://www.redsaga.com/articles/tomcat-apache-virtualhost-sample.zip</a></engine></host></connector></server>

分享到:
评论

相关推荐

    Tomcat虚拟主机配置

    【Tomcat虚拟主机配置】 Tomcat虚拟主机配置是将一台服务器划分为多个逻辑上的独立主机,每个主机都拥有自己的域名和IP地址,或者共享同一个IP地址,并且能够提供独立的Web服务。这样的设置使得一台物理服务器可以...

    tomcat安装配置详解

    tomcat安装配置详解,tomcat安装配置详解,tomcat安装配置详解

    tomcat5配置详解

    本文将深入探讨Tomcat 5的启动流程、目录结构以及配置详解。 1. **Tomcat 5.0 目录结构** - **bin**: 包含操作系统特定的启动和关闭脚本,如`startup.bat`和`shutdown.bat`,分别用于启动和停止Tomcat服务。 -...

    tomcat配置虚拟主机

    ### Tomcat配置虚拟主机详解 #### 一、前言与准备 在Web开发与部署过程中,经常需要在同一个服务器上运行多个不同的Web应用程序。为了更好地管理和区分这些应用程序,可以通过配置虚拟主机来实现这一目标。虚拟...

    Tomcat配置详解

    ### Tomcat配置详解 #### 一、Tomcat内存与性能参数设置 在部署Java Web应用时,合理地配置Tomcat的内存及性能参数对于确保应用的稳定性和性能至关重要。默认的Tomcat配置往往不适合生产环境的高并发需求,因此...

    MyEclipse Tomcat配置详解

    MyEclipse Tomcat配置详解

    MyEclipse_Tomcat配置详解

    MyEclipse_Tomcat 配置详解

    Tomcat基于域名的虚拟主机.doc

    Tomcat 基于域名的虚拟主机 Tomcat 是一个流行的开源 Web ...本文详细介绍了如何在 Tomcat 中实现基于域名的虚拟主机,包括安装和配置 Tomcat、定义虚拟主机、创建站点目录和测试页面、启动服务和访问虚拟主机等步骤。

    tomcat虚拟主机+目录

    在IT行业中,Tomcat是一个广泛...在Tomcat 6中,虚拟主机提供了多站点托管的能力,而合理的目录结构则使得配置和管理变得更加清晰。通过深入学习这些知识点,开发者可以更好地利用Tomcat来构建和维护高性能的Web服务。

    Tomcat详解配置

    Tomcat 详解配置 Tomcat 详解配置是指 Tomcat 服务器的配置和架构解析。本文将对 Tomcat 服务器的组成部分、结构图、配置文件等进行详细的介绍。 【Server】:Server 元素代表整个 Catalina Servlet 容器...

    tomcat安装及配置教程资源合集+Linux下安装Tomcat步骤详解+tomcat配置(免安装及安装版)之间有什么区别

    tomcat安装及配置教程tomcat安装及配置教程资源合集+Linux下安装Tomcat步骤详解+tomcat配置(免安装及安装版)之间有什么区别tomcat安装及配置教程资源合集+Linux下安装Tomcat步骤详解+tomcat配置(免安装及安装版)之间...

    Tomcat 9 虚拟路径配置

    ### Tomcat 9 虚拟路径配置详解 在日常的Web开发中,Apache Tomcat作为一款免费开源的Servlet容器,被广泛应用于部署Java Web应用。对于开发者来说,灵活地配置虚拟路径(也称为虚拟主机或上下文路径)是提高项目可...

    Tomcat 配置详解

    `appBase`属性定义了虚拟主机的应用程序基目录,`unpackWARs`和`autoDeploy`属性则控制了Tomcat如何处理WAR文件。若`unpackWARs`为`true`,WAR文件会被解压后运行;`autoDeploy`为`true`,则Tomcat会自动检测并部署...

    linux tomcat 配置详解

    Linux 下配置Tomcat 详解各位大佬敬请参考,沟通交流,

    Tomcat建立虚拟主机最佳实践

    在本文中,我们将深入探讨如何在Tomcat中配置和管理虚拟主机,以及实现这一目标的最佳实践。 首先,理解Tomcat的目录结构至关重要。`conf/server.xml`是Tomcat的主要配置文件,其中包含了所有服务器级别的设置,...

    tomcat配置虚拟路径

    tomcat虚拟路径配置,tomcat配置虚拟路径,简短代码,一目了然

Global site tag (gtag.js) - Google Analytics