欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

apache2.2+tomcat5.5+IIS6虚拟主机多实例配置

程序员文章站 2022-04-28 21:14:35
...

最近完成了一个apache整合tomcat和iis实现虚拟主主机多实例的配置,现在整理一下。

需求说明:公司有一个web服务器,共部署了两个web应用(拥有独立的域名),使用了一个端口为80的tomcat5.0,配置了多host方式实现了两个web应用同时运行,但因为业务上的原因,需要将两个web应用分别部署到两个tomcat中。同时也向在服务器上部署一个邮件服务器专门用作企业邮箱,就想到了用apache来实现这个需求。

经过了今天是资料收集,部署和测试,现在已经在测试服务器上部署通过,下面是整理的步骤:

1.基本配置:apache2.2,tomcat5.5,iis6,使用了一个受限制的邮件服务器(测试用)。

2.apache的安装测试  安装apache服务器,使用默认推荐配置参数,使用80端口,启动测试通过(http://127.0.0.1,页面显示It Works,安装成功);

3.安装tomcat5.5服务器共安装两个tomcat服务器,并修改服务端口号(server.xml文件),将配置的tomcat服务器启动,测试是否能够同时正常运行。

4.apache中的tomcat虚拟主机配置4.1apache2.2版本除了增加虚拟主机配置信息外,还需要修改默认目录安全配置,否则无法访问服务:

<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     Deny from all
     Satisfy all
</Directory>

  

修改为:

 

<Directory />
     Options FollowSymLinks
     AllowOverride None
</Directory>

  

其实就是将后三项配置去掉。

 

4.2 打开conf/httpd.conf文件,将Include conf/extra/httpd-vhosts.conf前注释去掉。

4.3 在conf/extra/httpd-vhosts.conf文件中进行虚拟主机配置

 

<VirtualHost *:80>
    DocumentRoot D:\www\tomcat51\webapps\ROOT
    ServerName test1.com

    ServerAlias www.test1.com

    DirectoryIndex  index.html  index.html.var  index.jsp
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot D:\www\tomcat52\webapps\ROOT
    ServerName test2.com

    ServerAlias  www.test2.com
    DirectoryIndex  index.html  index.html.var  index.jsp
</VirtualHost> 

  

此时,在www目录下,假若有html文件,应该就已经可以根据不同的虚拟主机访问不同的html文件了.

 

4.4 apache服务器整合tomcat服务器

jk connector 配置jk是tomcat和apache之间的连接器,apache和tomcat通过jk来进行通讯,jk支持多个不同的instance转发。jk的调度是根据workers.properties来的。

在自己的engine 中配置jvmRoute值,和workers.properties对应;

 

在httpd.conf中

 

load module:LoadModule jk_module modules/mod_jk-apache.so
JkWorkersFile conf/workers.properties
JkLogFile      logs/mod_jk.log
JkLogLevel     info
JkRequestLogFormat     "%w %V %T %U %q"

  

conf/workersproperties文件配置:

 

conf/workerspropertiesworker.list=host2,host1

worker.host1.port=8009
worker.host1.host=host1.com
worker.host1.type=ajp13
worker.host1.lbfactor=1
worker.host1.recycle_timeout 120

worker.host2.port=8010
worker.host2.host=host2.com
worker.host2.type=ajp13
worker.host2.lbfactor=1
worker.host2.recycle_timeout 120 

  

然后,在每个virtualhost配置里面增加:

 

<VirtualHost *:80>
     ServerName www.test2.com     ....
     JkMount  /* host1
</VirtualHost>

  

这是配置tomcat需要拦截的文件。默认全部都由tomcat拦截处理至此,apache整合tomcat基本完毕,其中一个web应用需要配置tomcat数据源,配置只需在tomcat中的server.xml文件的

<host></host>

 中间增加:

<Context path="" docBase="${catalina.home}/webapps/creditworld" reloadable="true" debug="0"> 
<Resource name="jdbc/SQLWEBDB" auth="Container"   type="javax.sql.DataSource"  driverClassName="net.sourceforge.jtds.jdbc.Driver"
      url="jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=webdbcredit" username="sa"
      password="sa" maxActive="150" maxIdle="500" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60"
   logAbandoned="true"/>
</Context> 

 

 

5.apache中的iis虚拟主机配置 安装iis和邮件服务器,并安装邮件服务器说明,将邮件服务器配置到iis中。

 

conf/httpd.conf配置修改

LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so 

  

将以上两项配置前的注释去掉。

 

在conf/extra/httpd-vhosts.conf文件中进行虚拟主机配置,iis邮件服务使用90端口

 

<VirtualHost *:80>
    ProxyPreserveHost On
    DocumentRoot C:\mail\Web
    Alias /WinWebMail  C:\mail\Web
    ServerName www.mailtest.com
    DirectoryIndex  default.asp index.html  index.html
    ProxyPass / http://127.0.0.1:90/
    ProxyPassReverse / http://127.0.0.1:90/
</VirtualHost>

  

      iis邮件服务器也配置完毕,测试通过。