`

Apache2.2.4多个虚拟主机+Tomcat6多个虚拟主机整合配置

阅读更多

 

Apache2.2.4多个虚拟主机+Tomcat6多个虚拟主机整合配置

 

Apache与Tomcat介绍

Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和 其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP 规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

 

为什么需要整合

整合的最主要原因是为了在现有的硬件条件下提供最大的负载。

如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;

在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web server处理。Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。

 

整合的基本原理

作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。

在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8119用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。

 

关于Apache 和 Tomcat 的安装,这里不再说明。

 

一、Apache2.2.4配置多个虚拟主机

1、在httpd.conf文件中,找到下面这一行,把前面的#号去掉,启用 http-vhosts.conf 配置文件:

Include conf/extra/httpd-vhosts.conf

 

2、找到 conf/extra/httpd-vhosts.conf 配置文件,做如下配置:

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.e.g.somenet.com

    DocumentRoot "D:\apps\quickLMS"

    ServerName quick.edusaas.com

    JkMount /* controller

    ErrorLog logs/quick-error_log

    CustomLog logs/quick-access_log common

    DirectoryIndex index.jsp

    <Directory "D:\apps\quickLMS">

AllowOverride None

Options FollowSymLinks 

Order allow,deny

Allow from all

    </Directory>

</VirtualHost>

 

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.e.g.somenet.com

    DocumentRoot "D:\apps\sanyLMS"

    ServerName sany.edusaas.com

    JkMount /* controller

    ErrorLog logs/sany-error_log

    CustomLog logs/sany-access_log common

    DirectoryIndex index.jsp

    <Directory "D:\apps\sanyLMS">

AllowOverride None

Options FollowSymLinks 

Order allow,deny

Allow from all

    </Directory>

</VirtualHost>

 

 

#一个虚拟主机,对应一个 <VirtualHost *:80>......</VirtualHost> 节点。

 

二、Tomcat配置多个虚拟主机

1、在Tomcat的server.xml配置文件中,增加Host节点

    <Host name="quick.edusaas.com" appBase="D:\apps\quickLMS"   unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">  

<Context path="" docBase="." />

  </Host>

  <Host name="sany.edusaas.com" appBase="D:\apps\sanyLMS"   unpackWARs="true" autoDeploy="true"  xmlValidation="false" xmlNamespaceAware="false">  

<Context path="" docBase="." />

  </Host>

 

 

三、Apache 整合 Tomcat

1、下载 mod_jk.so ,放到 modules 目录下,

下载地址 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

下载时,注意 mod_jk 和 apache 的版本,选择对应的版本。

 

1、在Apache的 conf 目录下 新建 workers.properties 配置文件,做如下配置:

worker.list=controller,tomcat1,tomcat2,status

#==========tomcat1============

worker.tomcat1.port=8119

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1   

 

#==========tomcat2============

worker.tomcat2.port=8219

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1   

 

#==========controller 负载均衡控制器=========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2

worker.controller.sticky_session=1

 

worker.status.type=status

#tomcat 可以配置多个,这里的配置有点类似Apache + Tomcat 整合集群配置。

 

2、在Apache的 conf 目录下 新建 uriworkermap.properties 配置文件,做如下配置:

/*=controller

/jkstatus=status

!/*.gif=controller

!/*.jpg=controller

!/*.png=controller

!/*.css=controller

!/*.js=controller

!/*.htm=controller

!/*.html=controller

 

#这里设置的是过滤规则,哪些资源文件交给controller处理,剩下的由Apache处理。

 

3、配置Apache的 conf 目录下 httpd.conf 配置文件,在末尾增加如下配置:

LoadModule jk_module modules\mod_jk-apache-2.2.4.so

JkWorkersFile conf\workers.properties

JkMountFile conf\uriworkermap.properties

JkLogFile logs\mod_jk.log

JkLogLevel warn

 

四、配置完成,启动Tomcat 和 Apache,就可以通过以下网址访问:

quick.edusaas.com

sany.edusaas.com

zohl.edusaas.com

而且在访问 jsp、 *.do、 servlet等地址时,也不用加tomcat的端口号了。

测试时,如果没有实际两个域名,可以将上面的测试域名 配置到 系统的 C:\Windows\System32\drivers\etc\hosts 文件中:

127.0.0.1 quick.edusaas.com

127.0.0.1 sany.edusaas.com

127.0.0.1 zohl.edusaas.com

这样在地址栏可以输入上面的域名访问测试站点。

分享到:
评论

相关推荐

    WinXP下Apache2.2.4与tomcat6、php5整合

    本文档详细介绍了如何在Windows XP系统中配置Apache2.2.4、tomcat6和php5,使其能够在一个环境中稳定共存并协同工作。这种配置通常用于开发环境或小型Web服务器部署场景,尤其是当需要支持多种Web应用和技术栈时。 ...

    apache_2.2.4.mis + mod_jk-apache-2.2.4.so集群配置必备软件

    通过这样的配置,Apache服务器能够通过mod_jk模块与多个Tomcat实例通信,实现负载均衡和高可用性。你可以根据需要调整workers.properties中的参数,如负载策略、错误重试次数等,以优化集群性能。同时,监控服务器的...

    ApacheTomcat整合教程

    Apache Tomcat 整合教程主要涉及的是如何在一台服务器上设置多台Apache Tomcat服务器,以便托管多个独立的Web应用程序,通常用于实现高可用性和负载均衡。以下是对整合过程的详细解释: 首先,你需要下载并安装...

    整合Apache和tomcat

    每个虚拟主机配置中,使用`JkMount`指令将所有请求映射到相应的Tomcat实例,如`tomcat1`或`tomcat2`。 5. `DirectoryIndex`和`DocumentRoot`指令定义了默认索引文件(如`index.jsp`)和每个虚拟主机的应用根目录。 ...

    apache tomcat 连接器

    4. **配置虚拟主机**: 在Apache的虚拟主机配置中,使用`JkMount`和`JkUnmount`指令将特定URL映射到Tomcat处理。比如,所有以`.jsp`结尾的请求都将转发到Tomcat: ```apacheconf *:80&gt; ServerName example.com ...

Global site tag (gtag.js) - Google Analytics