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 [email protected]

    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 [email protected]

    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

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

猜你喜欢

转载自zouzaibianyuan.iteye.com/blog/1633146